我正在尝试使用fastparquet打开文件,但我收到错误:
RuntimeError: Decompression 'SNAPPY' not available. Options: ['GZIP', 'UNCOMPRESSED']
我安装了以下内容并重新启动了我的解释器:
python 3.6.5 hc3d631a_2
python-snappy 0.5.2 py36_0 conda-forge
snappy 1.1.7 hbae5bb6_3
fastparquet 0.1.5 py36_0 conda-forge
一切顺利下载。我不知道我是否需要活泼或python-snappy所以我得到一个没有修复而得到另一个,仍然没有成功。我发现的所有相关问题在下载snappy时都已修复,但我仍然因为有两个snappys而遇到此错误!任何帮助将不胜感激。
答案 0 :(得分:10)
您需要按照Catbuilts的响应来安装python-snappy
。但是,应该仅将c中的snappy implementation的包装器安装在您的计算机中,此answer中有关安装snappy-c的问题已得到解决。
假设您拥有基于 DEB的系统(例如ubuntu),则可以使用以下方法获取它:
sudo apt-get install libsnappy-dev
python3 -m pip install --user python-snappy
要对其进行测试,可以尝试以下脚本:
import pandas as pd
import snappy # Not required but snappy (python-snappy) module should be reachable
from fastparquet import write, ParquetFile
df = pd.DataFrame({"col1": [1,2,3,4], "col2": ["a","b","c","d"]})
# df.head() # Test your initial value
write("/tmp/deleteme", df, compression="SNAPPY")
df_parquet = ParquetFile("/tmp/deleteme").to_pandas()
df_parquet.head()
答案 1 :(得分:2)
运行:
pip install python-snappy
pip install pyarrow
应该可以解决问题。
我认为您缺少pyarrow
软件包。
如果pip
出错,请改用conda
(即conda install python-snappy
)。
答案 2 :(得分:0)
以下安装非常有用
pip install fastparquet
pip install python-snappy
pip install pyarrow