对象数组到pandas中的csv文件

时间:2015-12-16 10:59:00

标签: python pandas

我是python的新手。我无法得到以下问题的正确指导。

我有一个对象数组如下:

[{"key1":22,"key2":33},{"key1":55,"key2":66}]

我想将其转换为csv,如下所示:

key1  key2
22    33
55    66

你能指导我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您实际上可以使用pandas数据帧结构。让d成为您的字典,您可以使用以下内容构建数据框:

df = pd.DataFrame(d)

然后将其保存到csv:

df.to_csv('yourfile.csv', index=False)

答案 1 :(得分:2)

构建一个DataFrame只是为了创建一个csv文件没有多大意义,csv.DictWriter旨在完全按照您的意愿执行:

import csv

d = [{"key1":22,"key2":33},{"key1":55,"key2":66}]
with open("out.csv", "w") as f:
    wr = csv.DictWriter(f, delimiter="\t",fieldnames=list(d[0].keys()))
    wr.writeheader()
    wr.writerows(d)

如果您希望按字母顺序排列列,则还需要对键进行排序,因为这些键是无序的,因此请使用fieldnames=sorted(d[0].keys())