2014-09-29 213 views
2

我想使用openpyxl打開並修改現有的excel工作簿,但是我甚至無法打開文件而無法獲取錯誤。嘗試使用openpyxl打開工作簿時出現TypeError

from openpyxl import load_workbook 
ws = load_workbook('PO-Copy.xlsx') 

我弄了半天類型錯誤的結果:

Traceback (most recent call last): 
File "<module1>", line 6, in <module> 
File "C:\Python27\Lib\site-packages\openpyxl\reader\excel.py", line 151, in load_workbook 
    _load_workbook(wb, archive, filename, read_only, keep_vba) 
File "C:\Python27\Lib\site-packages\openpyxl\reader\excel.py", line 224, in _load_workbook 
     keep_vba=keep_vba) 
File "C:\Python27\Lib\site-packages\openpyxl\reader\worksheet.py", line 308, in read_worksheet 
    fast_parse(ws, xml_source, shared_strings, style_table, color_index) 
File "C:\Python27\Lib\site-packages\openpyxl\reader\worksheet.py", line 296, in fast_parse 
    parser.parse() 
File "C:\Python27\Lib\site-packages\openpyxl\reader\worksheet.py", line 84, in parse 
    dispatcher[tag_name](element) 
File "C:\Python27\Lib\site-packages\openpyxl\reader\worksheet.py", line 282, in parse_data_validation 
    dv = parser(tag) 
File "C:\Python27\Lib\site-packages\openpyxl\worksheet\datavalidation.py", line 179, in parser 
    dv = DataValidation(**element.attrib) 
TypeError: __init__() got an unexpected keyword argument 'errorStyle' 

有其他人遇到了這個錯誤?有沒有我可以用來繼續前進的修復?

回答

1

在openpyxl 2.1中添加了讀取現有文件中的DataValidation的功能,但僅限於支持Python中的DataValidation。支持DataValidation的工作已經開始,並且可以在2.2分支中獲得,位於https://bitbucket.org/habub68/openpyxl

+0

[我在這裏下載並安裝了2.2版本](https://bitbucket.org/habub68/openpyxl/downloads),但是沒有工作。但是,2.0版本的確如此,所以我就這樣做了。謝謝! – Schack 2014-09-30 13:44:46

+0

2.0完全忽略DataValidations,所以如果你不需要它們的話。如果我們能儘快完成這項工作,它將會回到2.1補丁版本。你能提交一份錯誤報告嗎?有助於追蹤它。 我不知道從下載安裝實際上是否有效。 – 2014-09-30 14:15:00

+0

請原諒我的無知,但是做到這一點的正確方法是什麼?我知道除了下載並安裝到機器上之外,沒有其他辦法可以獲得openpyxl的功能。 – Schack 2014-09-30 14:55:36

相關問題