<强>问题强>
我试图打印some_cell.font.color.rgb并得到各种结果。
对于一些人,我得到了我想要的东西(比如“FF000000”),但对于其他人,它给了我值必须类型“basetring”。我假设后者是因为我实际上没有为这些单元格定义字体颜色。
2.2.2我正在使用openpyxl
<>强解决方案
强>
我认为这是openpyxl中的一个错误,我认为你应该在这里报告。
调试以下代码(当然使用trepan3k):
从openpyxl进口工作簿 世行=工作簿() ws=wb.active c=ws (A4的)#细胞被创建 打印(ws (A4的).font.color)
我明白了:
颜色(rgb=值必须类型str,索引=值必须类型“int”,汽车=值必须类型“bool”,主题=1,色=0.0,类型=爸魈狻?
这来自文件中类类型()的_repr_() <代码> openpyxl/描述符/base.py> 代码。未初始化值时会给出此消息。请注意,“索引”和“自动”也未设置。
但是这些应该ws (“a4”)是在执行访问代码时设置的。
注意:消息中的细微差别:“str”而不是“basestring”可能归因于我使用Python 3或不太可能使用openpyxl 2.2.3
如果我应该在我的示例中添加其他一些额外的代码,那么至少https://openpyxl.readthedocs.org/en/latest/index.html应该表明这一点。
另请参见openpyxl单元格样式未正确报告其中一个开发人员似乎在这么多单词中说同样的事情。
编辑:
其他一些事情可能值得关注。首先,您可以设置一个值然后读取它,例如您可以这样做:
c.font.color。rgb=" FF000000 "
其次,如果您c.font.color.rgb在布尔值中测试,它将看起来像已设置的值。那是
如果c.font。颜色:打印(“是的”)“是”
将打印。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。