python - 我想要第 6 列 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))
推荐阅读
- javascript - 滚动到底部 JAVASCRIPT 时存储我当前所在的页面
- r - 使用 df 的 3 列的多个条形图
- angular - 使用静态网站回退问题在 Azure 上部署 Angular
- java - Java中的建模动作
- time-complexity - 阶乘的大 O 化简
- mysql - 使用 MySQL 8 我在调用存储过程时发现错误的输出结果
- c# - 具有 1 个冻结列的 WPF DataGrid - 水平滚动问题
- c# - HttpClient 的单个实例的连接池大小是多少,我在 Docs 的哪里可以看到它?
- java - 尝试更改变量的值时预期的变量
- javascript - 运行 ngFor 时组件内的类函数给出错误(不是函数)