我有一個看起來像這樣JSON文件:根據ID將JSON文件拆分爲多個JSON文件?
{"one":"Some data", "two":"Some data",...}
等等...
我想根據ID名稱所有的ID拆分成單獨的文件,例如:
one.json
{"one":"Some data"}
two.json
{"two":"Some data"}
等等。
我從this得到了參考。但是我的問題稍有不同。我可以修改什麼來實現單獨的文本文件?
我有一個看起來像這樣JSON文件:根據ID將JSON文件拆分爲多個JSON文件?
{"one":"Some data", "two":"Some data",...}
等等...
我想根據ID名稱所有的ID拆分成單獨的文件,例如:
one.json
{"one":"Some data"}
two.json
{"two":"Some data"}
等等。
我從this得到了參考。但是我的問題稍有不同。我可以修改什麼來實現單獨的文本文件?
我不會教你如何做文件I/O,並假設你自己可以做到這一點。
一旦你已經加載了原始文件作爲與json
模塊dict
,做
>>> org = {"one":"Some data", "two":"Some data"}
>>> dicts = [{k:v} for k,v in org.items()]
>>> dicts
[{'two': 'Some data'}, {'one': 'Some data'}]
,這將給你的詞典列表,你可以轉儲到一個文件(或單獨的文件中的密鑰而得名), 如果你希望。
加載JSON文件後,您可以將它視爲python中的字典,然後像在普通python字典中那樣通過循環來保存文件中的內容。 這是關係到你想要獲取JSON數據到一個變量後能達到
Data = {"one":"Some data", "two":"Some data"}
for item in Data:
name = item + '.json'
file = open(name, 'w')
file.write('{"%s":"%s"}' % (item, Data[item]))
file.close()
什麼一個例子,做
a = {"one":"Some data", "two":"Some data"}
for k,v in a.items():
with open(k+".json","w") as f:
f.write('{"%s" : "%s"}' %(k,v))
和輸出是:
one.json => {"one":"Some data"}
和
two.json => {"two":"Some data"}
什麼意思變量名稱與密鑰名稱相同?你只是通過增加不必要的名字來加入名稱空間 – abccd
請不要使用python-2.7 *和* python-3.x進行標記,除非你有足夠的理由這樣做。 – timgeb