使用openpyxlparsing列

我有以下algorithm来parsing整数值的列:

def getddr(ws): address = [] col_name = 'C' start_row = 4 end_row = ws.get_highest_row()+1 range_expr = "{col}{start_row}:{col}{end_row}".format(col=col_name, start_row=start_row, end_row=end_row) for row in ws.iter_rows(range_string=range_expr): print row raw_input("enter to continue") cell = row[0] if str(cell.value).isdigit: address.append(cell.value) else: continue return address 

这崩溃在cell = row[0]说“IndexError:元组索引超出范围”,我不知道这是什么意思。 我尝试打印出行,看看它包含什么,但它给了我一个空的圆括号。 任何人都知道我错过了什么?

这不是那么容易说出你有什么问题,因为没有你正在处理的input数据。

但是我可以解释你得到的错误的原因是什么,你必须走向哪个方向。 列表row包含0个元素( row = [] ),因为你不能说row[0] – 没有行[0]。 你必须改变的第一件事是检查,你的名单多久,如果它足够长的时间做其他的事情:

 for row in ws.iter_rows(range_string=range_expr): print row raw_input("enter to continue") if len(row) > 0: cell = row[0] if str(cell.value).isdigit: address.append(cell.value) else: continue 

无论如何,这是你必须做的第一步。