Python openpyxl讀取單元格字體顏色過程解析
問題
我試圖打印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']是在執(zhí)行訪問代碼時設置的。
注意:消息中的細微差別:'str'而不是'basestring'可能歸因于我使用Python 3或不太可能使用openpyxl 2.2.3
如果我應該在我的示例中添加其他一些額外的代碼,那么至少https://openpyxl.readthedocs.org/en/latest/index.html應該表明這一點。
另請參見openpyxl單元格樣式未正確報告其中一個開發(fā)人員似乎在這么多單詞中說同樣的事情。
編輯:
其他一些事情可能值得關注。首先,您可以設置一個值然后讀取它,例如您可以這樣做:
c.font.color.rgb = "FF000000"
其次,如果您c.font.color.rgb在布爾值中測試,它將看起來像已設置的值。那是
if c.font.color: print("yes")
將打印“是”。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python操作Excel神器openpyxl看這一篇就夠了
Python使用openpyxl讀寫excel文件這是一個第三方庫,可以處理xlsx格式的Excel文件,下面這篇文章主要給大家介紹了關于python操作Excel神器openpyxl的相關資料,需要的朋友可以參考下2023-04-04
Python采集大學教務系統(tǒng)成績單實戰(zhàn)示例
這篇文章主要為大家介紹了Python采集大學教務系統(tǒng)成績單實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
在Python中使用itertools模塊中的組合函數的教程
這篇文章主要介紹了在Python中使用itertools模塊中的組合函數的教程,來自IBM官方技術文檔,需要的朋友可以參考下2015-04-04
Python爬蟲實現全國失信被執(zhí)行人名單查詢功能示例
這篇文章主要介紹了Python爬蟲實現全國失信被執(zhí)行人名單查詢功能,涉及Python爬蟲相關網絡接口調用及json數據轉換等相關操作技巧,需要的朋友可以參考下2018-05-05

