数据如下:
id,outer,inner1,inner2,inner3
123,"Smith,John",a,b,c
123,"Smith,John",d,e,f
123,"Smith,John",g,h,i
456,"Williams,Tim",xx,yy,zz
456,"Williams,Tim",vv,ww,uu
456,"Miller,Ray",rrr,sss,ttt
456,"Miller,Ray",qqq,www,ppp
我希望生成的词典
^{pr2}$我尝试调整来自Python Creating A Nested Dictionary From CSV File的已接受答案,但此方法在每一行都覆盖字典,因此只有每个id的最后一行才会出现在字典中。在
是的,因为在这个例子中,这一行每次都是UID:
相反,您可以使用setdefault将条目默认设置为列表并附加:
^{pr2}$dict.setdefault
是获取数据结构并根据需要创建它们的好方法。在一个collections.defaultdict使用每行的第一个元素作为外部dict键,然后使用第二个元素作为内部dict键,并将行中的其余值添加到列表中作为内部dict键的值:
输出:
^{pr2}$因为您使用的是python3,所以我们可以在循环中使用
*
进行解包,使代码更漂亮:相关问题 更多 >
编程相关推荐