我有一组JSON文档。我需要将所有这些文档中的数据聚合成CSV等可移植格式,以便在excel或其他分析工具中轻松访问数据。
我面临的问题是我通过逐个添加密钥来创建JSON文档。因此,JSON中的所有键都被随机化了,我不确定当我将JSON文档解析为CSV时,它将保留其模式(不像RDBMS中那样,而是2d excel模式)
我只想确保每次使用csv.writerow()更新CSV文件时,每个值都应该与第一次设置的标头相对应。
任何想法如何实现我的目标?
答案 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