使用xlrd遍历行号列表

时间:2018-11-29 12:08:23

标签: python excel loops for-loop xlrd

我有一个行号列表,我想使用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:列表索引超出范围

2 个答案:

答案 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函数之后,所有问题代码都可以正常工作。