我有一个非常大的json文件,它是以多个对象的形式存在的,对于小数据集,这是可行的
data=pd.read_json(file,lines=True)
但是在同样的但是更大的数据集上,它会在8GB的RAM计算机上崩溃,所以我试着用下面的代码先把它转换成列表
data[]
with open(file) as file:
for i in file:
d = json.loads(i)
data.append(d)'
然后将列表转换为 Dataframe ,
df = pd.DataFrame(data)
这确实转换成一个列表罚款,即使与大数据集文件,但它崩溃时,我试图转换成一个 Dataframe ,由于它使用了太多的内存,我认为
我试过
data[]
with open(file) as file:
for i in file:
d = json.loads(i)
df=pd.DataFrame([d])'
我以为它会一个接一个地追加,但我认为它仍然会立即在内存中创建一个大副本,而不是,所以它仍然会崩溃。
我如何将大的json文件转换成 Dataframe 的块,使它限制内存使用?
2条答案
按热度按时间ivqmmu1c1#
有几种可能的解决方案,取决于您的具体情况。鉴于我们没有数据示例或数据结构的信息,我可以提供以下内容:
aoyhnmkz2#
为了避免中间数据结构,可以使用生成器。