我想对第六栏的总和

时间:2018-09-27 08:27:12

标签: python python-2.7 indexoutofboundsexception

代码:

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 :(得分:1)

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