2016-04-07 17 views
1

2つの異なるJSONファイルがあります。JSONファイルを2つマージするには?

[{"volume": "44", 
"affiliations": {}, 
"cite_count": 39, 
"issue": "12", 
"page_range": "1257-1271", 
"doi": "10.1016/0584-8547(89)80124-7", 
"title_en": "test"} 
] 

[{"sourceType": "Conference Proceeding", 
"page_range": "1257-1271", 
"language": null, 
"volume": null, 
"titleEn": "test2", 
"spinCiteCount": null} 
] 

ご覧のとおり、これらは同じ情報を持っていますが、異なる形式です。一部の情報は他のファイルにありません。 私はそれらをすべて1つのpostgreSQLテーブル(またはJSONファイル)に変換して解析する必要があります。

異なるフォーマットのJSONファイルを1つのファイルまたはPythonの1つのPostgresテーブルにマージするにはどうすればよいですか?

+0

これらは 'page_range'フィールドにキー入力されていますか? –

答えて

1

あなただけの単一の辞書/ JSONに両方をマージすることができます:

import json 

dic1 = json.load('json_file_1') 
dic2 = json.load('json_file_2') 
dic1.update(dic2) 

print dic1 

出力:

{ 
    "volume": "44", 
    "affiliations": {}, 
    "cite_count": 39, 
    "issue": "12", 
    "page_range": "1257-1271", 
    "doi": "10.1016/0584-8547(89)80124-7", 
    "title_en": "test2" 
    "sourceType": "Conference Proceeding", 
    "language": None, 
    "volume": None, 
    "spinCiteCount": None 
} 

注:共通鍵は二 ファイルの値で上書きされます。あなたが必要とするものに基づいて、ファイルを読む順序が重要なので、 は注文を変更します。

+0

確かに、愚かな私、変更 –