【发布时间】:2017-03-28 20:03:02
【问题描述】:
我有多个 json 文件组合在一个日志文件中(巨大的)。 一些 json 有很好的格式,但大多数没有。 python中将json重定向到另一个具有漂亮格式的文件的最佳方法是什么。(每个json文件以3'}'结尾,有时会有换行符和空格)。 例如:- { “体育”:{“板球”:{“击球手”:“布拉德曼”,“保龄球”:“沃恩”}}}
【问题讨论】:
我有多个 json 文件组合在一个日志文件中(巨大的)。 一些 json 有很好的格式,但大多数没有。 python中将json重定向到另一个具有漂亮格式的文件的最佳方法是什么。(每个json文件以3'}'结尾,有时会有换行符和空格)。 例如:- { “体育”:{“板球”:{“击球手”:“布拉德曼”,“保龄球”:“沃恩”}}}
【问题讨论】:
我自己没有用过,但我会尝试像this one这样的包。
【讨论】:
首先你应该用json.load加载文件,然后使用缩进选项json.dump。
import json
initial = json.load('yourfile.json')
json.dump(initial, 'yourfile.json', indent = 4)
您还可以使用 sort_keys 选项,它对 json 文件的键进行排序。
json.dump(initial, 'yourfile.json', sort_keys = True, indent = 4)
如果你在一个大文件中有多个有效个json文件,你可以这样做:
with open('yourfile.json') as fp:
file = fp.read()
file = "[" + file + "]"
initial = json.loads(file)
只要有逗号分隔它们就可以了。
【讨论】: