【发布时间】:2020-11-15 02:56:22
【问题描述】:
在 Python 3.8 上使用类似于以下内容的 CSV:
- Column_0>>>>>>>>>Column_1>>>>>>Column_2>>>>Column_3>>>>>Column_4
- Some_Numbers0>>>Some_String1>>>Some_String2>Some_Numbers3>>Some_Numbers4
现在,Column_3 和 Column_4 中的数字需要求 SUM、AVG,并求它们总和的差异。
我目前一直在尝试打印两个总和。这是我已经走了多远:
import csv
import decimal
with open("sample.csv") as myFile:
reader = csv.DictReader(myFile)
print(sum(float(line["Column_3"]) for line in reader))
print(sum(float(line["Column_4"]) for line in reader))
使用这个,Column_3 的总打印,但 Column_4 我得到一个“0”。删除 Column_3 的 prin 行,然后我得到 Column_4 的总数就好了。我也试过:
import csv
import decimal
with open("sample.csv") as myFile:
total = 0
for line in csv.DictReader(myFile):
total += int(line["Column_3"])
print(total)
but i get Traceback (most recent call last): File "some file pathway", line 7, in <module> total += int(line["Column_3"]) ValueError: invalid literal for int() with base 10: '1345.67'
哪个数字代表该列_3的第一个数字值。
我被难住了。任何帮助表示赞赏。我确定我会带着有关查找 AVG 的问题返回,然后使用它们的总数来查找它们的差异,所有这些都需要从同一个程序运行打印,但在这里我已经卡住了。
【问题讨论】:
标签: python csv average difference