从json文档集合更新模式绑定csv

时间:2015-12-28 05:23:15

标签: python json excel csv flask

我有一组JSON文档。我需要将所有这些文档中的数据聚合成CSV等可移植格式,以便在excel或其他分析工具中轻松访问数据。

我面临的问题是我通过逐个添加密钥来创建JSON文档。因此,JSON中的所有键都被随机化了,我不确定当我将JSON文档解析为CSV时,它将保留其模式(不像RDBMS中那样,而是2d excel模式)

我只想确保每次使用csv.writerow()更新CSV文件时,每个值都应该与第一次设置的标头相对应。

任何想法如何实现我的目标?

1 个答案:

答案 0 :(得分:0)

一种方法是使用csv.DictWriter创建CSV文件:

import json
import csv


# Two JSON documents
jsondoc1 = '''{"a":"aardvark", "b":"bengal tiger"}'''
jsondoc2 = '''{"a":"Samuel Adams", "b":"Carter Braxton"}'''

# Create a CSV file, then use csv.DictWriter() to write the header
# and one for for each JSON document
with open("output.csv", "wt") as output_file:
    output_file = csv.DictWriter(output_file, ["a", "b"])
    output_file.writeheader()
    output_file.writerow(json.loads(jsondoc1))
    output_file.writerow(json.loads(jsondoc2))

结果:

a,b
aardvark,bengal tiger
Samuel Adams,Carter Braxton