python - 我想要第 6 列值的总和

标签 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

最佳答案

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

关于python - 我想要第 6 列值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52532618/

相关文章:

python - 如何将两个或多个计数器合并到一个字典中?

python - 存在属性时 __init__ 之外的属性

python - Flask:PK违规使用flask-sqlalchemy

python - 线程处理时未执行的函数

java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 5

Python Logging - 创建一个日志文件,列出在 For 循环中引发错误的文件

python - 如何在matplotlib中设置刻度之间的固定间距

css - 如果元素属性动态变化,我们如何提取元素值

java - 索引越界异常java

ssl - 连接到 "javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBoundsException"站点时收到 "https:"