Xlrd列表索引超出范围

时间:2013-02-08 04:07:38

标签: list indexing xlrd

我刚刚开始探索Xlrd,说实话我完全是编程的新手,并且已经完成了一些简单的例子,并且无法使这个简单的代码工作:

import xlrd

book=open_workbook('C:\\Users\\M\\Documents\\trial.xlsx')
sheet=book.sheet_by_index(1)
cell=sheet.cell(0,0)
print cell

我收到错误:列表索引超出范围(指的是代码的倒数第二位) 我剪切并粘贴了pdf中的大部分代码......任何帮助?

2 个答案:

答案 0 :(得分:1)

我会在控制台中玩它。

一次执行一个语句,然后查看每个语句的结果。工作表索引从0开始计数,因此如果您只有一个工作表,那么您需要第二个工作表,这将为您提供超出范围错误的列表索引。

您可能缺少的另一件事是,如果它们中没有数据,并非所有单元格都存在。有些人这样做,但有些人没有。基本上,从xlrd的角度来看,存在的单元格是矩阵nrows x ncols中的单元格。

另一件事是,如果您确实想要从单元格中取出值,请使用cell_value方法。那将返回一个字符串或一个浮点数。

旁注,您可以这样编写自己的路径:'C:/Users/M/Documents/trial.xlsx'。 Python将完美地处理后端的/ vs \,您不必使用转义字符。

答案 1 :(得分:0)

你说:

  

我收到错误:列表索引超出范围(指的是倒数第二个   一点代码)

我对此表示怀疑。文件中有多少张?我怀疑只有一张纸。 Python中的索引从0开始,而不是1.请编辑您的问题以显示完整的回溯和完整的错误消息。我怀疑它会显示IndexError出现在倒数第3行:

sheet=book.sheet_by_index(1)