我有一个JSON文件,如下所示:
{"one":"Some data", "two":"Some data",...}
依旧......
我想根据ID的名称将所有ID拆分为单独的文件,例如:
one.json
{"one":"Some data"}
two.json
{"two":"Some data"}
等等。
我从this获得了参考资料。但我的问题略有不同。我可以修改什么来实现单独的文本文件?
答案 0 :(得分:3)
我不会教你如何进行文件I / O,并假设你可以自己做。
使用dict
模块将原始文件加载为json
后,执行
>>> org = {"one":"Some data", "two":"Some data"}
>>> dicts = [{k:v} for k,v in org.items()]
>>> dicts
[{'two': 'Some data'}, {'one': 'Some data'}]
如果您愿意,它将为您提供可以转储到文件的字典列表(或以键命名的单独文件)。
答案 1 :(得分:2)
将json数据转换为变量后,执行
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"}
答案 2 :(得分:1)
加载JSON文件后,您可以将其视为python中的字典,然后通过循环将内容保存在文件中,就像在普通的python字典中一样。 以下是与您想要实现的内容相关的示例
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()