2015-12-28 36 views
0

我有一個JSON文檔的集合。我需要將所有這些文檔中的數據彙總爲便攜式格式,例如CSV,以方便訪問Excel或其他分析工具中的數據。從一組json文檔更新一個模式綁定的csv

我面臨的問題是我通過逐個添加鍵創建JSON文檔。正因爲如此,JSON中的所有鍵都會隨機化,我不確定當我將JSON文檔解析爲CSV時,它將保留其模式(不像在RDBMS中,但是在2d excel模式中)。

我只想確保每次使用csv.writerow()更新CSV文件時,每個值都應該與其第一次設置的標題相對應。

任何想法如何實現我的目標?

+0

你有一段代碼,你開始工作,或者至少一個例子數據。 – karlcow

回答

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 
+0

如果文檔中缺少某些鍵,該怎麼辦?一些json文檔可能有5個鍵,有些有6個,其中4個是相同的,其餘部分是不同的。在這種情況下,我如何確保csv的完整性。 – Harvey

相關問題