Python中的错误:“IndexError:列表索引超出范围”

时间:2016-03-04 14:12:40

标签: python excel

我正在尝试从python中的excel文件中创建数据列表,但每当我运行代码时都会收到此信息

row[1] = int(row[1])
IndexError: list index out of range
>>> 

这是我对其进行排序的代码(按最小值,最大值和平均值)

f = open("Class 2.csv", "r")
csvread = csv.reader(f)
nlist = []
for row in csvread:
    filter(lambda x: 3 > 0, row)
    row[0] = int(row[0])
    row[1] = int(row[1])
    row[2] = int(row[2])
    row[3] = int(row[3])
    minimum = min(row[1:4])
    row.append(minimum)
    maximum = max(row[1:4])
    row.append(maximum)
    average = round(sum(row[1:4])/3)
    row.append(average)
    nlist.append(row[0:4])
print(nlist)

我的excel文件中的行[0]也是一个名称,所以我也得到一个错误,告诉我int(row [0])不能工作,因为我不是一个整数。我不知道如何更改它以便我不会收到此错误。

1 个答案:

答案 0 :(得分:0)

迭代没有第二个元素。发送前检查一下:

如果列表中的所有值都是数字,请使用 map 表示str到int值:

int_values = map(int, str_list)

int_values = map(int, str_list[0:4])

但这不会解决您的问题,因为在值列表中。