我有一个行号列表,我想使用xlrd python模块遍历该列表以查找这些行和第3列,并将这些单元格中的值保存到新变量中。
这是我到目前为止所拥有的:
rows_exceptions_file_final = [ 2, 5, 6 , 8, 11, 15 ]
rows_string = []
for i in rows_exceptions_file_final:
rows_string.append(sheet2.cell_value( i , 3))
我得到的异常是:
单元格值 返回self._cell_values [rowx] [colx] IndexError:列表索引超出范围
答案 0 :(得分:1)
实际上,列和行以索引0开头。
仅供参考:您的代码可以改进为:
# row and column index start with 0
rows_exceptions_file_final = [1, 4, 5, 7, 10, 14 ]
col_nb4 = sheet2.col_values(3, 0)
rows_string = [v for i, v in enumerate(col_nb4) if i in row_exceptions_file_final]
答案 1 :(得分:0)
我要在列表中的每个数字上加上+1,因为枚举我以前使用的函数。由于枚举从0开始,而我的行从1开始,但是在删除该+1函数之后,所有问题代码都可以正常工作。