我有一个像这样的词典列表
[{"Key":[val1,val2,...]}, {"Key2":[val1,val2,...]}, ...]
我想将其转换为csv格式,其中键是列标题,并且他的值形成列值
为此,我本来打算使用pandas
数据框(可以很容易地导出到csv),但我无法弄清楚如何将我的值输入到数据框中。
我试过myPanda = pd.DataFrame.from_records(data)
但是唉,无济于事。
答案 0 :(得分:4)
我假设你的钥匙是独一无二的,否则这不会有多大意义。
选项1
pd.DataFrame
df.to_csv
dct = [{...}, {...}, ...]
r = {}
for d in dct:
r.update(d)
pd.DataFrame(r).to_csv('file.csv')
选项2
使用cytoolz
,还有另一种字典合并的可能性 -
from cytoolz.dicttoolz import merge
df = pd.DataFrame(merge(*dct))
选项3
创建单独的数据帧并将它们连接起来 -
df = pd.concat(list(map(pd.DataFrame, dct)), axis=1)
即使您的列表不均匀,此选项仍然有效。
归功于piRSquared的最后两个解决方案!