大文字と国を含む複数のJSONファイルがあります。すべてのファイルから繰り返しキーと値のペアを削除するにはどうすればよいですか?複数のJSONファイルから繰り返しを削除するにはどうすればよいですか?
私は、次のJSONファイルの1
{
"data": [
{
"Capital": "Berlin",
"Country": "Germany"
},
{
"Capital": "New Delhi",
"Country": "India"
},
{
"Capital": "Canberra",
"Country": "Australia"
},
{
"Capital": "Beijing.",
"Country": "China"
},
{
"Capital": "Tokyo",
"Country": "Japan"
},
{
"Capital": "Tokyo",
"Country": "Japan"
},
{
"Capital": "Berlin",
"Country": "Germany"
},
{
"Capital": "Moscow",
"Country": "Russia"
},
{
"Capital": "New Delhi",
"Country": "India"
},
{
"Capital": "Ottawa",
"Country": "Canada"
}
]
}
反復を含む多くのそのようなJSONファイルがありますしている私は、私はこれを試してみました?のみ最初の出現を維持repetitve項目を削除しますが、doesnのかitems.How仕事は
dupes = []
for f in json_files:
with open(f) as json_data:
nations = json.load(json_data)['data']
#takes care of duplicates and stores it in dupes
dupes.append(x for x in nations if x['Capital'] in seen or seen.add(x['Capital']))
nations = [x for x in nations if x not in dupes] #want to keep the first occurance of the item present in dupes
with open(f, 'w') as json_data:
json.dump({'data': nations}, json_data)
あなたのコードは私が達成したいと思っているもののためにうまくいきます。ありがとう! –