Python xlrd,在循环读取行数时,遇到最后一行空白单元格时报错

Python xlrd,在循环读取行数时,遇到最后一行空白单元格时报错

问题描述:

rownum = 1
while True:
    getrow = table.cell(rownum, 5).value
    print(getrow)
    if len(getrow) > 0:
        rownum += 1
        print(rownum)
    else:
        break
print(rownum)

为了获取表格行数,在循环最后一行遇到空白单元格时,getrow = table.cell(rownum, 5).value报错,没有办法到达后面的if判断

self._cell_types[rowx][colx],

IndexError: list index out of range

报错是指你的数组越界。下标从0开始的,也就是说,rows和cols的0代表的是第一行第一列,如果你是一行数据,那么你的table.cell(rownum-1,5)而不是rownum,如果cols=5,那么你读取第五个应该是table.cell(rownum-1,4)