请考虑以下csv
文件:
Id,Country,Cities
1,Canada,"Toronto;Ottawa;Montreal"
2,Italy,"Rome;Milan;Naples;Palermo"
3,France,"Paris;Cannes;Lyon"
4,Spain,"Seville;Alicante;Barcelona"
我想读取城市名称并在字典中将键设置为“国家”,因此我要这样做:
my_dict = {}
with open(DATA, 'r') as f:
map_reader = csv.reader(f)
field_names = next(map_reader)
for row in map_reader:
my_dict = { r:row[1] for r in row[2].split(";") }
print(my_dict)
这里的问题是,在每次迭代中,dict
理解的结果都会覆盖my_dict
。正确的使用方法是什么?
您要更新现有字典,而不是替换它。
for row in map_reader:
my_dict.update({r: row[1] for r in row[2].split(";")})