python - 如何创建包含空csv字段的dict作为None?
问题描述
我有一个这样的 csv 文件:
id,subid
1,a
2
3,c
4
当我将其映射到字典时,字典的创建方式如下:
{'1':'a'}
{'3':'c'}
目前它会跳过那些子 ID 为空的。我希望空的显示为None
.
我当前的代码:
import csv
reader = csv.reader(open('filename.txt', encoding='utf-8', mode='r'))
for row in ricom:
d={}
try:
d = {row[0]:row[15]}
print(d)
except IndexError:
pass
我正在做try
andexcept
因为如果不row[15]
抛出,index list out of range
因为某些字段是空的。
我想要的输出应该是这样的:
{'1':'a'}
{'2': None}
{'3': 'c'}
{'4': None}
注意:csv 中有 20 多列,但我只举了两列作为示例。
PS:csv文件为excel格式。我的意思是filename.csv
。反正我觉得应该没关系!任何帮助深表感谢。
解决方案
利用csv.DictReader
前任:
import csv
with open(filename) as infile:
reader = csv.DictReader(infile)
for row in reader:
print({row["id"]: row.get("subid")})
输出:
{'1': 'a'}
{'2': ''}
{'3': 'c'}
{'4': ''}
推荐阅读
- java - 为什么“==”应该是 .equals() 比较数组列表中的字符串?
- node.js - 如何在 Gatsby 中将 http 重定向到 https?
- javascript - 在 setState 之后反应原生不重新渲染
- python-3.x - 如何使用forloop并排绘制图表
- reactjs - 像“useLocation”这样的反应路由器钩子的存根不起作用
- angular - 角度文件上传传递图像作为[对象文件]
- android-studio - 在将 jsoup 与 android studio 一起使用时,我在更高的 android api 版本中收到“太多重定向错误”
- php - 从数据库查询到字符串的数组 - 非常具体的问题
- python-3.x - Using dataframe operations, determine how long, in days a given name in the dataset lived
- php - 如果您在 PHP 中退出,如何显示?