来自词典列表的熊猫阵列

时间:2017-11-26 03:27:55

标签: python pandas csv dictionary

我有一个像这样的词典列表

[{"Key":[val1,val2,...]}, {"Key2":[val1,val2,...]}, ...]

我想将其转换为csv格式,其中键是列标题,并且他的值形成列值

为此,我本来打算使用pandas数据框(可以很容易地导出到csv),但我无法弄清楚如何将我的值输入到数据框中。

我试过myPanda = pd.DataFrame.from_records(data)但是唉,无济于事。

1 个答案:

答案 0 :(得分:4)

我假设你的钥匙是独一无二的,否则这不会有多大意义。

选项1

  1. 将您的词典合并为一个词典
  2. 将字典传递给pd.DataFrame
  3. 使用df.to_csv
  4. 另存为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的最后两个解决方案!