xlrd命名范围不适用于Excel 2013工作簿?

时间:2014-09-03 09:17:22

标签: python xlrd

我使用的是Excel 2013,Python 3.4.1(Anaconda 64位)和xlrd 0.9.3。

我在单元格B2中创建了值为34的工作簿,并将B2命名为TestName。然后我将工作簿保存为2013版(test13.xlsx)和97-03版(test03.xls)文件。

我只能使用{97}版本文件使xlrd.Name对象按预期工作。

例如:

import xlrd

rb_03 = xlrd.open_workbook("test03.xls")
rb_13 = xlrd.open_workbook("test13.xlsx")
nm_03 = rb_03.name_map.get("TestName".lower())[0]
nm_13 = rb_13.name_map.get("TestName".lower())[0]
print("nm_03.result:", nm_03.result)  # prints: nm_03.result: Operand(kind=oREF, value=[Ref3D(coords=(0, 1, 1, 2, 1, 2))], text='Sheet1!$B$2')
print("nm_13.result:", nm_13.result)  # prints: None
print(nm_03.cell())  # prints: number:34.0
print(nm_13.cell())  # fails in line 253 of xlrd/book.py with: AttributeError: 'NoneType' object has no attribute 'logfile'

这是一个错误吗?如果没有,我如何读取test13.xlsx中名为TestName的单元格的值?

0 个答案:

没有答案