我正在尝试从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])不能工作,因为我不是一个整数。我不知道如何更改它以便我不会收到此错误。
答案 0 :(得分:0)
迭代行没有第二个元素。发送前检查一下:
如果列表中的所有值都是数字,请使用 map 表示str到int值:
int_values = map(int, str_list)
或
int_values = map(int, str_list[0:4])
但这不会解决您的问题,因为在值列表中。