发布于2019-09-03 09:31 阅读(452) 评论(0) 点赞(28) 收藏(1)
我试图打印some_cell.font.color.rgb
并得到各种结果。
对于一些人,我得到了我想要的东西(比如“ FF000000
”),但对于其他人,它给了我Value must be type 'basetring'
。我假设后者是因为我实际上没有为这些单元格定义字体颜色。
我正在使用openpyxl 2.2.2
我认为这是openpyxl中的一个错误,我认为你应该在这里报告。
调试以下代码(当然使用trepan3k):
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
c = ws['A4'] # cell gets created here
print(ws['A4'].font.color)
我明白了:
Color(rgb=Value must be type 'str', indexed=Value must be type 'int', auto=Value must be type 'bool', theme=1, tint=0.0, type='theme')
这来自文件中类Typed()的_repr_()openpyxl/descriptors/base.py
。未初始化值时会给出此消息。请注意,“indexed”和“auto”也未设置。
但是这些应该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
在布尔值中测试,它将看起来像已设置的值。那是
if c.font.color: print("yes")
将打印“是”。
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/83521/ea6ce9c4e696dcaa6829/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!