我试图从一个CSV文件创建一个Python字典的字典,文件看起来像这样:
| 第1栏|第2栏|第3栏|
| - ------|- ------|- ------|
| A类|花|十二|
| A类|太阳|十三|
| 乙|云|十四|
| 乙|水|三十四|
| C级|岩石|十二|
我正试着做一本字典的字典,看起来像这样:
dict = {
'A': {'flower': 12, 'sun': 13},
'B': {'cloud': 14, 'water': 34},
'C': {'rock': 12}
}
到目前为止,我尝试的代码如下所示:
import csv
with open('file.csv', 'r') as csvFile:
rows=csv.reader(csvFile)
d=dict()
for row in rows:
head,tail=row[0], row[1:]
d[head]=dict(zip(tail[0:], tail[1:]))
print(d)
但效果并不好,我得到了这个结果:
dict = {
'A': {'sun': 13},
'B': {'water': 34},
'C': {'rock': 12}
}
1条答案
按热度按时间yrwegjxp1#
您需要在每次迭代时更新
d[head]
,而不是替换它:或者用defaultdict来更简洁些: