打开具有命名范围的Excel文件时出现xlrd错误

时间:2013-04-08 22:47:17

标签: python excel xlrd

尝试在Python 3.2.4上使用xlrd 0.9.1打开工作簿时,我收到以下错误消息。我测试了可能导致问题的原因,并且我已经将其解决了具有命名范围的电子表格。

Traceback (most recent call last):
  File "C:\Users\mandroid\Desktop\xltest.py", line 5, in <module>
    book = open_workbook(pth)
  File "C:\Python32\lib\site-packages\xlrd\__init__.py", line 416, in open_workbook
    ragged_rows=ragged_rows,
  File "C:\Python32\lib\site-packages\xlrd\xlsx.py", line 725, in open_workbook_2007_xml
    x12book.process_stream(zflo, 'Workbook')
  File "C:\Python32\lib\site-packages\xlrd\xlsx.py", line 251, in process_stream
    meth(self, elem)
  File "C:\Python32\lib\site-packages\xlrd\xlsx.py", line 346, in do_defined_names
    self.do_defined_name(child)
  File "C:\Python32\lib\site-packages\xlrd\xlsx.py", line 335, in do_defined_name
    nobj.formula_text = cooked_text(self, elem)
  File "C:\Python32\lib\site-packages\xlrd\xlsx.py", line 130, in cooked_text
    return unicode(unescape(t))
TypeError: <lambda>() takes exactly 2 arguments (1 given)

从我读过的内容来看,xlrd看起来已经命名了范围功能,所以我不确定是什么导致了这一点。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

这是xlrd 0.9.1中的一个错误:https://github.com/python-excel/xlrd/issues/47

您可以尝试0.9.0,等待0.9.2,或者应用报告中John Machin建议的修复。