python - Python:从 csv 计算
问题描述
我正在尝试计算 CSV 文件中产生的功率总和。
- 这应该是文件的最后一行,第二个值 - 文件的第一行,第二个值
或者
行尾每个值的总和..
07:15;4719.852;0.036
07:20;4719.857;0.060
07:25;4719.863;0.072
.
.
08:30;4720.399;0.924
我注意到这是由“;”分隔的 代替 ”,”
由于我无法计算出选项 1,因此我已经计算了每一行的总和。
首先是更改“;” 在 ”,”
cat /home/LoadLive/day.csv | tr ";" "," > /home/LoadLive/day1.csv
然后我使用python脚本
import csv
with open('/home/LoadLive/day1.csv', 'r') as f:
total = 0
for row in csv.reader(f):
total += float(row[2])
print('The total is {}'.format(total))
结果是“总数为 0.9600000000000001”
000000001 是从哪里来的?我能以更好的方式做到这一点吗?
坦克
解决方案
您可以尝试使用 pandas 加载数据并计算总和。
使用它,您无需手动更改分隔符“;” 到 ",",您可以简单地使用sep
pandas.read_csv() 中的参数
检查 csv:https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html 检查总和:https ://www.statology.org/sum-columns -熊猫/
推荐阅读
- flutter - FLUTTER 仅当您共享应用程序时才能访问应用程序功能
- azure - 如何在一个秘密中创建具有多个值的密钥库秘密?
- python - 将 Plotly Dash 嵌入 Flask 应用程序
- php - 如何检查是否允许在元素名称的开头或内部使用 unicode 字符
- bazel - 我应该如何设置 bazel 工作区?
- ios - 在项目中插入 CoreML 模型会导致错误
- vue.js - 如何使用 Vue.js 维护原始数组排序顺序
- javascript - 如何从编辑器制作csv文件
- firebase - Docker 容器上应用程序的 Google Compute 引擎的 Firestore 授权
- c - 了解#define LPC_CCAN_API ((CCAN_API_T *) (LPC_ROM_API->candApiBase)) 这一行