You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何用csv.reader将新冠CSV转指定格式字典并统计州确诊死亡总和

实现方案

第一步:修正字典生成逻辑

你当前的字典生成代码直接存储了CSV读取的字符串类型数值,后续求和会触发类型错误,需要先将确诊病例、确诊死亡数转为整数:

import csv

def get_covid_dict(file_path):
    with open(file_path, mode='r') as inp:
        reader = csv.reader(inp)
        # 跳过表头
        next(reader, None)
        # 转换数值类型后生成字典,键为(县名, 州名)元组
        mydict = {tuple(row[1:3]): [int(row[6]), int(row[7])] for row in reader}
    return mydict

注意:当前字典键的顺序为(县名, 州名),如果你需要调整为题目示例的(州名, 县名),可以把键的生成逻辑改为tuple([row[2], row[1]])。

第二步:指定州确诊死亡数求和

遍历字典筛选出目标州的所有记录,累加对应确诊死亡数值即可:

常规实现

def calc_state_deaths(covid_dict, target_state):
    total = 0
    for (county, state), (confirmed_cases, confirmed_deaths) in covid_dict.items():
        if state == target_state:
            total += confirmed_deaths
    return total

简洁写法(生成器表达式)

也可以直接用一行代码完成求和:

alabama_total = sum(confirmed_deaths for (county, state), (_, confirmed_deaths) in covid_dict.items() if state == "Alabama")

使用示例

# 替换为你的CSV文件实际路径
file_path = "./us_county_covid.csv"
covid_dict = get_covid_dict(file_path)
# 统计阿拉巴马州累计确诊死亡数
alabama_deaths = calc_state_deaths(covid_dict, "Alabama")
print(alabama_deaths)

内容的提问来源于stack exchange,提问作者Answersplease

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:36:04