B. *_*arp 8 python-3.x snappy fastparquet
我正在尝试使用fastparquet打开文件,但出现错误:
RuntimeError: Decompression 'SNAPPY' not available. Options: ['GZIP', 'UNCOMPRESSED']
Run Code Online (Sandbox Code Playgroud)
我已安装以下设备,并重新启动了我的解释器:
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
Run Code Online (Sandbox Code Playgroud)
一切下载顺利。我不知道我是否需要snappy或python-snappy,所以我得到了一个没有解决办法,却得到了另一个,但仍然没有成功。下载快照时,我发现的所有相关问题均已修复,但是使用两个快照时,仍然出现此错误!任何帮助,将不胜感激。
Cat*_*lts 26
跑:
pip install python-snappy
pip install pyarrow
Run Code Online (Sandbox Code Playgroud)
它应该可以解决问题。
我认为你缺少pyarrow
包裹。
如果您有错误pip
,请conda
改用(即,conda install python-snappy
或者如果您仍然有错误conda install -c conda-forge python-snappy
)。
Mar*_*nal 11
您需要python-snappy
按照Catbuilts的响应进行安装。但是,它只是应安装在您的计算机中的 c 中snappy 实现的包装器,此问题已在有关安装 snappy-c 的答案中解决。
假设您有一个基于 DEB 的系统,例如 ubuntu,您可以通过以下方式获得它:
sudo apt-get install libsnappy-dev
python3 -m pip install --user python-snappy
Run Code Online (Sandbox Code Playgroud)
要测试它,您可以尝试以下脚本:
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()
Run Code Online (Sandbox Code Playgroud)