【发布时间】:2021-12-22 12:27:42
【问题描述】:
我有一个巨大的 csv 文件,其中包含美国每个县的 COVID-19 病例和死亡信息。
为了让您大致了解此文件中包含的信息,这里是它的前 10 行:
date,county,state,fips,cases,deaths,confirmed_cases,confirmed_deaths,probable_cases,probable_deaths
2021-03-18,Autauga,Alabama,01001,6483,96,5557,85,926,11
2021-03-18,Baldwin,Alabama,01003,20263,295,14329,220,5934,75
2021-03-18,Barbour,Alabama,01005,2199,54,1225,37,974,17
2021-03-18,Bibb,Alabama,01007,2512,58,2031,35,481,23
2021-03-18,Blount,Alabama,01009,6371,129,4901,109,1470,20
2021-03-18,Bullock,Alabama,01011,1193,39,1059,29,134,10
2021-03-18,Butler,Alabama,01013,2069,66,1888,60,181,6
2021-03-18,Calhoun,Alabama,01015,14137,301,10608,242,3529,59
2021-03-18,Chambers,Alabama,01017,3460,113,1720,73,1740,40
无论如何,我想为此数据创建一个 Python 字典,其中每个键都是由州和县名称组成的元组,每个值都是整数列表:第一个 int 代表数字确诊病例数,第二个代表确诊死亡人数。
基本上,我想要这样的输出:
dic = {("state","county"):[confirmed_cases, confirmed_deaths]}
请确保排除标题。
如何为 csv 文件中的所有县生成一个类似于上述的 python 字典?请使用csv.reader。
此外,我需要找到某个特定州的所有已确认死亡人数的总和。例如,我将如何总结 'state' 为 'Alabama' 的所有行的 'confirmed death' 中的值?
编辑:我想出了解决问题第一部分的方法:
mydict = {}
with open(file_path, mode='r') as inp:
reader = csv.reader(inp)
next(reader,None)
mydict = {tuple(row[1:3]):list(row[6:8]) for row in reader}
return mydict
你能帮我弄清楚如何根据这本词典总结某个州的已确认死亡人数吗?
【问题讨论】:
-
您可以使用模块
csv来节省您的时间。
标签: python csv dictionary