如何在python中打开.snappy.parquet文件?

时间:2018-10-05 01:02:51

标签: python parquet snappy

如何在python 3.5中打开.snappy.parquet文件?到目前为止,我使用了以下代码:

import numpy
import pyarrow

filename = "/Users/T/Desktop/data.snappy.parquet" 
df = pyarrow.parquet.read_table(filename).to_pandas()

但是,它给出了此错误:

AttributeError: module 'pyarrow' has no attribute 'compat'

P.S。我以这种方式安装了pyarrow:

pip install pyarrow

2 个答案:

答案 0 :(得分:1)

错误AttributeError: module 'pyarrow' has no attribute 'compat'有点令人误解。要在to_pandas()实例上执行pyarrow.Table函数,您需要安装熊猫。以上错误是缺少要求的征兆。

pandas不是pyarrow的硬性要求,因为它的大部分功能仅可用于Python内置组件和NumPy。因此,pyarrow中包含熊猫的用户可以使用它,而无需预先安装熊猫。

答案 1 :(得分:1)

我遇到了同样的问题,并按照https://github.com/dask/fastparquet/issues/366解决方案中提出的解决方案设法解决了这个问题。

1)使用conda install安装python-snappy(由于pip install的某些原因,我无法下载)

2)添加snappy_decompress函数。

from fastparquet import ParquetFile
import snappy
def snappy_decompress(data, uncompressed_size):
    return snappy.decompress(data)
pf = ParquetFile('filename') # filename includes .snappy.parquet extension
dff=pf.to_pandas()