Я хочу, чтобы сумма 6-го столбца vlaues - PullRequest
0 голосов
/ 27 сентября 2018

Код:

import csv
cr = csv.reader(open("filename"))
next(cr)
print (sum(float(x[6]) for x in cr))

Но получаю ошибку IndexError: list index out of range

1 Ответ

0 голосов
/ 27 сентября 2018

6-й столбец имеет индекс 5, а не 6, поэтому измените:

print (sum(float(x[6]) for x in cr))

на:

print (sum(float(x[5]) for x in cr))

Но если вы все еще получаете IndexError после изменения, может случиться так, что некоторые строки в вашем CSV не имеют 6-го столбца, и в этом случае вы можете добавить условие в выражение генератора, чтобы пропустить строки, не имеющие 6 столбцов:

print (sum(float(x[5]) for x in cr if len(x) >= 6))
...