xml.parsers.expat.ExpatError: not well-formed (invalid token)
1130
2022-08-17
python读取csv文件,并创建成字典(python读取数据文件)
本文主要介绍python读取csv文件,并创建成字典的方法,有需要的朋友可以参考一下:
我有一个像这样的csv数据集:
Copy
A, 10, USA
B,30, UK
C,4,IT
A,20,UK
B,10,USA
我想阅读这些csv行并提供以下输出:
Copy
A has ran 30 miles with average of 15.
B has ran 30 miles with average of 20.
C has ran 4 miles with average of 4.
到目前为止,我的解决方案是读取csv数据并将它们转换为字典然后迭代它们以查看“A”重复了多少次以及它必须为平均值计算的值以及最终生成结果.我已经编写了这段代码,但是我很难有效地计算A重复的次数并将里程相加以创建我的最终输出.有什么想在Python中做到这一点?我在C#中很容易做到这一点,但我对Python不太好.
Copy
def main(filename):
f = open(filename,'r')
labels = ['name','miles','country']
data = csv.DictReader(f,labels,delimiter=',')
for line in data:
print (line['name']+" " + "has ran" +" "+ line['miles']+" "+"miles")
f.close()
最佳答案
您可以使用defaultdict存储值,然后将其打印出来:
Copy
import csv
from collections import defaultdict
with open(filename, 'r') as handle:
reader = csv.DictReader(handle, ['name', 'miles', 'country'])
data = defaultdict(list)
for line in reader:
data[line['name']).append(int(line['miles']))
for runner, distances in data.items():
print '{} ran a total of {} miles and an average of {} miles'.format(
runner, sum(distances), sum(distances) / float(len(distances))
)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~