尝试在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看起来已经命名了范围功能,所以我不确定是什么导致了这一点。任何帮助表示赞赏。
答案 0 :(得分:2)
这是xlrd 0.9.1中的一个错误:https://github.com/python-excel/xlrd/issues/47
您可以尝试0.9.0,等待0.9.2,或者应用报告中John Machin建议的修复。