我有一个像这样的词典列表
[{"Key":[val1,val2,...]}, {"Key2":[val1,val2,...]}, ...]
我想将其转换为键是列标题的CSV格式,他值形成列值
为此,我打算使用pandas
DataFrame(很容易导出到CSV),但是我无法弄清楚如何将我的值纳入数据框架。
我已经尝试过myPanda = pd.DataFrame.from_records(data)
,但是a,毫无用处。
我假设您的密钥是唯一的,否则这没什么意义。
选项1
- 将您的字典合并到单个dict
- 将dict传递给
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用于最后两个解决方案!。