【问题标题】:Reading a stacked JSON file using Python使用 Python 读取堆叠的 JSON 文件
【发布时间】:2019-02-25 14:38:57
【问题描述】:

我有一个很大的 JSONS 文件 (4,5 GB),我无法一次用 Python 打开它。该文件由几百万行全部采用 JSON 格式组成。每行是一个单独的 JSON 文件,用括号括起来,所以文件的格式是:

{JSON}
{JSON}
{JSON}
...

我希望能够逐行读取文件或一次读取前 200 行,但我不知道该怎么做。 是否可以逐行读取文件,然后将各个 JSON 的所需部分放入数据框中?还是数据框太大而无法处理?

提前致谢!

【问题讨论】:

  • 请参阅my answer here 以阅读 jsonlines。您可以一次对 200 行执行类似操作。
  • “不能一次用 Python 打开”,是什么让你这么写,你有什么尝试?
  • 我的电脑无法处理这么大的文件..
  • 如果您希望人们帮助您,最好能提供尽可能详细的信息,说明您已经尝试过哪些命令/模块。简单地说“我的电脑不能处理这么大的文件..”/“不能一次用 Python 打开”并不能说明这个问题,如果你逐行阅读文件,我几乎可以肯定您的计算机可以处理该文件。

标签: python json dataframe import


【解决方案1】:

您可以使用file.readline() 方法从文件中读取一行。

JSON 的所需部分可以存储在内存中,但请确保限制大小,然后将数据刷新到另一个文件或数据库中

【讨论】:

    【解决方案2】:

    如果您使用通常的 python 读取文件的方式打开一个文件,您确实会逐行读取它。所以你可以这样做

    with open('big.json', 'r') as f:
        for line in f:
            #select stuff
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-03
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      相关资源
      最近更新 更多