python - 将字典写入 CSV 文件
问题描述
我有多个这样的字典,其中键是年龄,值是该年龄的人数。我将它们分组到多个字典中
age_50 = {39: 66, 40: 83, 42: 217, 43: 53, 23: 33, 21: 28}
age50_80 = {59: 397, 65: 408, 61: 120, 67: 241, 68: 372, 78: 424, 76: 635 }
age_80 = {80: 93, 88: 425, 83: 165, 84: 58, 91: 88}
我想将其写入 CSV 文件,每列都是字典,行是每个键的值。我希望我的输出如下表。如果键存在,则写入值。如果不只是填充 0:
Age_Under50 Between_50_80 Greater_80
66 397 0
83 408 93
217 120 425
53 241 0
33 372 165
28 424 58
0 635 88
解决方案
试试下面的东西
import csv, itertools
age_50 = {39: 66, 40: 83, 42: 217, 43: 53, 23: 33, 21: 28}
age50_80 = {59: 397, 65: 408, 61: 120, 67: 241, 68: 372, 78: 424, 76: 635 }
age_80 = {80: 93, 88: 425, 83: 165, 84: 58, 91: 88}
cf = csv.writer(open("test.csv", "w"))
cf.writerows(
itertools.zip_longest(
['Age_Under50'] + [age_50.get(k, 0) for k in range(50)],
['Between_50_80'] + [age50_80.get(k, 0) for k in range(50,80)],
['Greater_80'] + [age_80.get(k, 0) for k in range(80,100)],
fillvalue=0
)
)
对于窗户
import csv, itertools
age_50 = {39: 66, 40: 83, 42: 217, 43: 53, 23: 33, 21: 28}
age50_80 = {59: 397, 65: 408, 61: 120, 67: 241, 68: 372, 78: 424, 76: 635 }
age_80 = {80: 93, 88: 425, 83: 165, 84: 58, 91: 88}
f = open("test.csv", "w", newline='')
cf = csv.writer(f)
cf.writerows(
itertools.zip_longest(
['Age_Under50'] + [age_50[k] for k in age_50],
['Between_50_80']+[age50_80[k] for k in age50_80],
['Greater_80']+[age_80[k] for k in age_80],
fillvalue=0
)
)
f.close()
推荐阅读
- javascript - useMutation 后 useQuery 未正确更新并设置 cookie 以进行授权
- reactjs - 找不到 Dropbox 登录窗口的图像
- reactjs - 如何使用 selenium 刮取隐藏的 React 组件键
- git - 使用 API 命令获取拉取请求的工作项的权限错误
- macos - 在程序集中获取系统调用的返回值
- mongodb - 如何检查 MongoDB 对象中是否存在嵌套键?
- javascript - 如何比较过滤器的两个对象数组
- kubernetes - 将 POD_HOST + random_string 导出为 pod 中的环境变量
- javascript - 飞镖中的Javascript正则表达式
- java - 如何验证用户输入是否在一定范围内?