首页 > 解决方案 > 使用 pd.read_parquet 读取 parquet 文件以查找模式

问题描述

我正在开发一个正在编写镶木地板文件的应用程序。出于测试目的,我正在尝试使用 pd.read_parquet 读取生成的文件。我收到一个非常奇怪的错误,要求提供模式:

self = <[AttributeError("'ParquetFile' object has no attribute '_schema'") 在 repr()] ParquetFile object at 0x7fae6e06b250>

这发生在以下行:

data = pd.read_parquet(file)

其中 file 是从根内容到文件的路径。首先,我不应该提供一个模式,因为我们在这里谈论的是镶木地板,我不确定是什么导致了这个问题。也许是可读性条款?

当我在我的 Parquet 插件中为 pycharm 导入生成的文件时,它看起来不错

{"Id": 12345, "Limit": 200, "Product": 818} {"Id": 67890, "Limit":3000, "Product": 819} 所以输入数据应该不是问题.

注意:使用 fastparquet 进行了相同的尝试并得到了相同的错误(有意义,因为 pd.read_parquer 是基于它的。

标签: pandasunit-testingparquetfastparquet

解决方案


当我使用压缩模式时,同样的事情发生在我身上

df.to_parquet("sample.parquet",compression="uncompressed")

我把它改成了无。然后它开始工作。

df.to_parquet("sample.parquet",compression="none")

也许对于您的情况,环境设置不正确。尝试安装其他引擎,例如fastparquet 或 pyarrow。


推荐阅读