繁体   English   中英

读取 Python 中的大 Json 并取一个切片作为样本

[英]Read Large Json in Python and take a slice as a sample

我正在处理一个非常大的 json 文件(6.5GB),用我的本地机器,一次读取它是不可能的。 所以我想读取一个块作为测试样本,并在运行整个数据集之前基于这个样本编写代码。

import pandas as pd


file_dir = 'D://yelp_dataset/yelp_academic_dataset_review.json'

df_review_sample = pd.read_json(file_dir, lines=True, chunksize=1000)

我做了以下尝试,然后df_review_sample成为 JsonReader Object。 有没有办法将第一个块显示为 dataframe?

我昨天下午遇到了同样的问题,我终于明白发生了什么。

使用参数 lines=True 和 chunksize=X 将创建一个读取特定行数的阅读器。

然后你必须做一个循环来显示每个块。

这里有一段代码供你理解:

import pandas as pd
import json
chunks = pd.read_json('../input/data.json', lines=True, chunksize = 10000)
for chunk in chunks:
    print(chunk)
    break

块根据您的 json 的长度创建多个块(按行说话)。 例如,我有一个 100 000 行 json ,其中有 X 个对象,如果我做 chunksize = 10 000,我将有 10 个块。

在我给出的代码中,我添加了一个中断,以便只打印第一个块,但如果你删除它,你将一个接一个地拥有 10 个块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM