python读取csv文件,并创建成字典(python读取数据文件)

网友投稿 1130 2022-08-17

python读取csv文件,并创建成字典(python读取数据文件)

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小时内删除侵权内容。

上一篇:python怎么读取excel里面的图片?(python怎么读取excel里面的图片)
下一篇:python读取txt文件乱码问题的解决方案(python为什么读txt文件出错)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~