【问题标题】:python extracting multiple json file from a single file in pretty formatpython从漂亮格式的单个文件中提取多个json文件
【发布时间】:2017-03-28 20:03:02
【问题描述】:

我有多个 json 文件组合在一个日志文件中(巨大的)。 一些 json 有很好的格式,但大多数没有。 python中将json重定向到另一个具有漂亮格式的文件的最佳方法是什么。(每个json文件以3'}'结尾,有时会有换行符和空格)。 例如:- { “体育”:{“板球”:{“击球手”:“布拉德曼”,“保龄球”:“沃恩”}}}

【问题讨论】:

    标签: python json


    【解决方案1】:

    我自己没有用过,但我会尝试像this one这样的包。

    【讨论】:

      【解决方案2】:

      首先你应该用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)
      

      只要有逗号分隔它们就可以了。

      【讨论】:

      • 文件本身是一个日志文件,里面包含了上百个json文件,所以我猜用不了json.load。
      • 它只包含数百个json文件而没有别的吗?
      • 只是为了确定,您介意将文件的一部分准确发布到您的问题中吗?回答者很高兴看到我们正在处理什么样的文件。谢谢
      • { "track": { "track_data": { "trackId": "1A11", "serial": 727, "ZoneInfo": "ABF2227D", "Amount": 1490, "Area" : "ari-152" }, "MiscData": { "State": "developing", "Type": "Type-1", "Issues": "N/A", "Indic": "positive" } } }
      • 它们之间没有逗号分隔,但是json文件是有效的,上面的代码需要分隔符。
      猜你喜欢
      • 2017-02-21
      • 2016-12-29
      • 2021-05-20
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      相关资源
      最近更新 更多