我有很多个dict,例如{A:A1,B:B2,C:C3,D:D4},{A:AA1,C:CC3,D:DD4,E:EE5},{A:AAA1,B:BBB2,C:CCC3,D:DDD4,E:EEE5}。我想得到一个类似行列转置后的LIST,效果如下:[A,B,C,D,E],[A1,B2,C3,D4,NULL],[AA1,NULL,CC3,DD4,EE5],[AAA1,BBB2,CCC3,DDD4,EEE5]]简单说明:list是一个合集,如果确实Key的value用null补充key作为一个list,value也是list,key和value的顺序要一致
2 回答

小唯快跑啊
TA贡献1863条经验 获得超2个赞
python3pandas>>>importpandasaspd>>>data=[{'A':'A1','B':'B2','C':'C3','D':'D4'},{'A':'AA1','C':'CC3','D':'DD4','E':'EE5'},{'A':'AAA1','B':'BBB2','C':'CCC3','D':'DDD4','E':'EEE5'}]>>>df=pd.DataFrame(data).fillna('null')>>>ls=df.values.tolist()>>>ls.insert(0,df.columns.tolist())>>>ls[['A','B','C','D','E'],['A1','B2','C3','D4','null'],['AA1','null','CC3','DD4','EE5'],['AAA1','BBB2','CCC3','DDD4','EEE5']]>>>

宝慕林4294392
TA贡献2021条经验 获得超8个赞
这是针对一个dictkey=list(dict.keys())value=list(dict.values())如果有多个dict,比如dict1:{A:A1,B:B2,C:C3,D:D4}dict2:{A:AA1,C:CC3,D:DD4,E:EE5}dict3:{A:AAA1,B:BBB2,C:CCC3,D:DDD4,E:EEE5}那么:dict1={'A':'A1','B':'B2','C':'C3','D':'D4'}dict2={'A':'AA1','C':'CC3','D':'DD4','E':'EE5'}dict3={'A':'AAA1','B':'BBB2','C':'CCC3','D':'DDD4','E':'EEE5'}key1=list(dict1.keys())key2=list(dict2.keys())key3=list(dict3.keys())keys=list(set(key1).union(set(key2),set(key3)))#key取并集result=[keys]fordictin[dict1,dict2,dict3]:value=[]forkeyinkeys:item=dict[key]ifkeyindictelse'NULL'value.append(item)result.append(value)print"result--{}---".format(result)
添加回答
举报
0/150
提交
取消