使用命名区域打开Excel文件时出现xlrd错误

问题描述:

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

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已命名的区域的功能,所以我不知道这可能是导致此。任何帮助表示赞赏。

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

你可以试试0.9.0,等待0.9.2,或应用修复约翰·马金建议在报告中。

+0

感谢您的回复!我试过0.9.0,但没有奏效。我得到了一个不同的错误,但可悲的是没有捕获它。我可以报告,它在Python 2.7.4上使用xlrd 0.9.0可以正常工作。 – mandroid 2013-04-10 00:05:41

+0

用Python 3试用0.9.2 – 2013-04-15 10:51:21