我如何读取json元数据文件的前100行并将其写入较小的json文件? [Python]

问题描述 投票:0回答:1

我有一个约有26 GB数据的json元数据文件。出于明显的原因,我需要提取前100行以创建一个新的json文件以进行读取,这样我可以在随后的代码中进行较少的更改,该代码应在100行上进行测试,并在调试完成后应用代码在整个文件上。

我已经阅读了将json导出到csv的内容,但我希望维护json的结构和文件类型,是否可以使用Python做到这一点?

我的文件是一个带有一些额外数据的json,因此我首先变通地读取它。看起来像这样:


{"_id":{"$oid":"5b9fd47507b317551a7bfb8f"},"title":"It's Okay If You Didn't Like 'Boyhood', And Here Are Many Reasons Why","url":"https://m.huffpost.com/us/entry/6694772","article_text"

而且我这样读

with open('metadata.json', 'r') as data:
    data = json.loads("[" + data.read().replace("}\n{", "},\n{") + "]")

谢谢!

python json
1个回答
0
投票

您可以尝试:

import json
with open('file.json') as ip_file:
  o = json.load(ip_file)
  chunkSize = 100
  for i in range(0, len(o), chunkSize):
    with open('file_' + str(i//chunkSize) + '.json', 'w') as out_file:
      json.dump(o[i:i+chunkSize], out_file)
© www.soinside.com 2019 - 2024. All rights reserved.