0

我刚刚开始探索 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 中剪切并粘贴了大部分代码……有帮助吗?

4

2 回答 2

1

我会在控制台中使用它。

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

您可能缺少的另一件事是,如果单元格中没有数据,则并非所有单元格都存在。有些会,但有些不会。基本上,从 xlrd 的角度来看,存在的单元格是矩阵nrowsx中的单元格ncols

另一件事是,如果您真的想要单元格中的值,请使用该cell_value方法。这将返回一个字符串或一个浮点数。

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

于 2013-02-08T20:51:31.773 回答
1

你说:

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

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

sheet=book.sheet_by_index(1)
于 2013-02-08T21:13:19.600 回答