2014-09-29 56 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

相关问题