我从一个数据帧创建了一个excel文件,如下所示:
In [215]: import pandas as pd
In [216]: df = pd.DataFrame({"Name": ["A", "B", "C"], "Status": ['y', 'n', 'yy']})
In [217]: df
Out[217]:
Name Status
0 A y
1 B n
2 C yy
如何根据Status
的值为“Name”设置bg_color
?我尝试了几个选项,但没有成功:
选项1
worksheet.conditional_format("A2",
{"type": "formula",
"criteria": "=ISNUMBER(SEARCH('y', B2))",
"format": format1
}
)
方案2
worksheet.conditional_format("A2",
{"type": "formula",
"criteria": "=$B$2='y'",
"format": format1
}
)
所有这些都没有给出预期的结果,当我打开该文件时,我收到一个错误消息:.xlsx中的不可读内容
另外,如果我可以在不迭代dataframe值的情况下设置这样做也很好。在
Excel似乎不喜欢字符串上的条件格式使用单引号。如果你有双引号在里面,也就是说
与
^{pr2}$我在下面放了一个完整的可复制的例子和解决方案的截图。在
如果要为列中的1000个单元格设置此条件格式,则可以使用条件格式的代码。在
另一方面,如果您想在一个范围内设置多个条件,我认为唯一可能的方法是使用for循环,用匹配条件的格式编写每个单元格。我已经提供了下面的例子和它的预期输出。请注意,这有点欺骗,因为如果满足三个条件中的任何一个,它会覆盖已经放入单元格中的内容。在
相关问题 更多 >
编程相关推荐