小编典典

为什么我收到 IndexError: list index out of range

all

from openpyxl import load_workbook

book = load_workbook('Line_Machines_Data.xlsx')
sheet = book['Line 7 machines']

line_7data = [15, 20, 30, 40] # this is the new data


for row in sheet['A1' : 'F1']:  #iterates through each row
for count, cell in enumerate(row):      
    cell.value = line_7data[count] 
book.save('Line_Machines_Data.xlsx')

我需要使用索引更新单元格值。我能做什么?我已经尝试过使用 range() 和 len() 方法并创建一个名为 index 的变量,但它并没有像 enumerate 那样迭代。谢谢!


阅读 68

收藏
2022-08-07

共1个答案

小编典典

该错误似乎表明您在行中填充的单元格比 line_7data 变量中的数据多。Line_7data 有四个值,但您正在枚举超过 4 个单元格。在第四行之后,您的代码试图获取 line_7data 中的第五项,但它不存在。

您可以添加额外的逻辑来检查您是否超过了数组的大小并在索引超出范围之前返回,或者如您的评论中所述,将更多数据添加到您的变量中。

2022-08-07