AttributeError:__enter__与read_parquet一起使用with语句时

时间:2019-07-23 09:36:37

标签: python pandas dataframe parquet

我想打开特定文件夹中存在的所有镶木地板文件,并使用它绘制散点图。我使用了以下代码:

for file in glob.glob("*.parquet"):
    with pd.read_parquet(file, columns=["cordx", "cordy"]) as df:
        make some scaterplot

可以找到文件,因为我让python成功打印了file。但是我接受AttributeError: __enter__read_parquet是打开这些文件的正确方法。当我不使用column = []时,会出现pyarrow.lib.ArrowIOError: Arrow error: Out of memory: malloc of size 9771487328 failed错误,因为文件很大。因此只加载那些列是必要的。

1 个答案:

答案 0 :(得分:1)

此错误告诉您pandas.read_parquet没有实现上下文管理器,这意味着您无法使用with来调用它,因为缺少__enter____exit__方法。在这里How to read a Parquet file into Pandas DataFrame?