我希望我的字典看起来像这样:
{'A': {('B','C'): 'D'}}
我目前使用的代码似乎无法实现此结果。
dict1 = {}
with open('foo.csv') as f:
reader = csv.DictReader(f)
for row in reader:
for key in ['B','C']:
dict1.setdefault(row['A'], {}).update({row[key]: row['D']})
目前,我得到的结果如下:
{'A': {'B': 'D','C': 'D'}}
基本上,我想要B& C表示为密钥,D为其值。
我在这里做错了什么?有人可以帮我纠正这段代码吗?
答案 0 :(得分:0)
您可以将这两个项目放在您想要的位置:元组:
dict1 = {}
with open('foo.csv') as f:
reader = csv.DictReader(f)
for row in reader:
dict1.setdefault(row['A'], {}).update({(row['B'], row['C']): row['D']})
# ^ ^