我想要第 6 列值的总和

I want to the sum of the 6th column vlaues

代码:

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

但是出现错误IndexError: list index out of range

第 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))