【问题标题】:TypeError when trying to open a workbook using openpyxl尝试使用 openpyxl 打开工作簿时出现类型错误
【发布时间】:2014-09-30 21:22:35
【问题描述】:

我正在尝试使用 openpyxl 打开和修改现有的 Excel 工作簿,但我什至无法打开文件而不会出现错误。

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

我得到一个很长的 TypeError 结果:

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'

有没有其他人遇到过这个错误?有什么办法可以让我继续前进吗?

【问题讨论】:

    标签: python excel openpyxl


    【解决方案1】:

    在 openpyxl 2.1 中添加了读取现有文件中的 DataValidation 的功能,但仅限于 Python 中的 DataValidation 支持的功能。全面支持 DataValidation 的工作已经开始,可在 https://bitbucket.org/habub68/openpyxl 的 2.2 分支中获得

    【讨论】:

    • I downloaded & installed the 2.2 version here,但这不起作用。但是,2.0 版本做到了,所以这就是我要使用的。谢谢!
    • 2.0 完全忽略了 DataValidations,所以如果您不需要它们,请使用它。如果我们能尽快完成这项工作,它将被向后移植到 2.1 补丁版本。可以提交错误报告吗?有助于跟踪它。我不知道从下载安装是否真的有效。
    • 请原谅我的无知,但正确的做法是什么?除了下载并安装到机器上之外,我知道没有其他方法可以获得 openpyxl 的功能。
    • 您需要使用 Mercurial 或 SourceTree 检出源代码,然后切换到 2.2 分支并在虚拟环境中以开发模式 python setup.py develop 安装,以避免您现有的 Python 受到影响。下载包含整个项目的存档,但处于当前状态(2.1 版本)。我们不建议使用它来安装库。正如文档所说,应该使用 pip install openpyxl 安装 openpyxl
    • 我们现在有一个相关的错误:bitbucket.org/openpyxl/openpyxl/issue/366/…
    猜你喜欢
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 2019-04-30
    • 2022-11-08
    • 2017-01-17
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    相关资源
    最近更新 更多