我想根据单元格颜色在Excel中追加一列(状态)。
如果该行的所有单元格均为绿色,则状态应为“通过”,否则为“未通过”。
我正在使用下面的代码
import pandas as pd
from openpyxl import load_workbook
filename = "Excel_Diff.xlsx"
wb = load_workbook(filename)
sheet_name = "Sheet1"
ws = wb[sheet_name]
data = ws.values
columns = next(data)[1:]
df = pd.DataFrame(data, columns=columns)
status_column = []
for row in ws.iter_rows(values_only=True):
green = all(cell.fill.fgColor.rgb == "FF00FF00" for cell in row)
status_column.append("pass" if green else "fail")
df["status"] = status_column
但这样不行
1条答案
按热度按时间hjzp0vay1#
在循环中,使用
ws.iter_rows(values_only=True)
。这个kwarg意味着只取所有单元格的值,所以它们是字符串。如果你删除它,你可以看到返回的内容的差异:然后,由于您现在有***单元格***而不是***单元格值***,因此可以使用代码: