我有一个这样的字典列表
[{"Key":[val1,val2,...]}, {"Key2":[val1,val2,...]}, ...]
我想将其转换为 csv 格式,其中键是列标题,值构成列值
为此,我打算使用 pandas
数据框(它很容易导出到 csv),但我不知道如何将我的值放入数据框中。
我已经尝试过 myPanda = pd.DataFrame.from_records(data)
但遗憾的是,无济于事。
最佳答案
我假设您的 key 是唯一的,否则这没有多大意义。
选项 1
- 将您的词典合并为一个词典
- 将字典传递给
pd.DataFrame
- 使用
df.to_csv
保存为 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!
关于python - 字典列表中的 Pandas 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47492742/