如何在python中打开镶木地板(二进制数据类型)文件而不会出现RAM错误?



我将一些CSV数据转换为镶木地板,并能够将存储量从2,5 GB减少到450 MB。我使用以下代码打开镶木地板文件:

df= pd.read_parquet("PATH/file9.parquet", engine='auto')

我的问题是,当我尝试打开镶木地板文件时,我收到以下错误。

pyarrow.lib.ArrowIOError: Arrow error: Out of memory: malloc of size 2941974336 failed

我知道可以通过按如下方式分块来打开大型csv文件:

for chunk in pd.read_csv("PATH/file9.csv", chunksize=chunksize):

可以用这条线打开较小的镶木地板文件。但是我找不到任何打开大镶木地板文件的解决方案。任何人都可以推荐另一种紧凑的数据类型,如镶木地板,可以毫无问题地打开?或者如何对镶木地板文件进行分块?

底层读取调用不支持任何类型的分块参数,所以不幸的是,不,你不能以分段方式读取 Parquet 文件,无论如何也不能使用该库。

但是,如果您不需要所有列,则可以传入columns=(...)kwarg。

最新更新