显示AttributeError:' unicode'对象没有属性' nrows'在xlrd python中?

时间:2017-05-20 06:43:08

标签: excel python-2.7 xlrd

我正在使用xlrd模块在python中读取excel文件。示例代码位于

之下
import xlrd
import sys
import glob

workbook = xlrd.open_workbook('nvm_sw_cfg_parm_master_v85.xlsx')
sheet_names = workbook.sheet_names()
print('Sheet Names', sheet_names)
for sheet in sheet_names:
    print sheet
    print sheet.nrows

这是我尝试的示例代码。在这段代码中,我可以读取工作表名称,但是当我读取工作表中的总行数时,它显示错误,如

AttributeError: 'unicode' object has no attribute 'nrows'

我已经浏览了库文件文档中有一个类名称调用,其中定义了 nrows ,我怎么能从代码中调用它,请有人可以帮我解决这个错误或任何其他模块来读取excel文件。

1 个答案:

答案 0 :(得分:1)

xlrd sheet确实有nrows属性。但是您的代码将变量sheet设置为字符串值。这一行:

sheet_names = workbook.sheet_names()

返回名称而非的列表。如果您想了解有关工作表的更多信息而不是其名称,则您的代码需要检索工作表,而不仅仅是其名称:

sheets = workbook.sheets()
for sheet in sheets:
    ...

然后变量sheet实际上将包含一个工作表,而不仅仅是一个字符串。