如何使用Pandas读取LZ4压缩文件?解决pd.read_csv加载失败问题
关于Pandas加载LZ4压缩CSV文件的解决方案
嘿,刚好碰到过类似的情况,我来给你捋捋~
首先明确说:Pandas默认是不直接支持LZ4压缩格式的,这就是你直接调用pd.read_csv()会失败的原因。不过别担心,咱们可以借助第三方库来搞定这个问题,下面给你两种可行的方法:
方法一:直接通过lz4库流式读取
先确保你已经安装了lz4库,在终端里跑这个命令:pip install lz4然后用下面的代码直接读取压缩文件到DataFrame:
import lz4.frame import pandas as pd with lz4.frame.open('stackunderflow.csv.lz4') as compressed_file: df = pd.read_csv(compressed_file)这种方法不用生成额外的解压文件,直接在内存里处理,比较省空间。
方法二:先解压到本地再读取
如果你的文件特别大,或者需要保留解压后的CSV文件,也可以先把LZ4文件解压出来,再用Pandas读取:import lz4.frame import pandas as pd # 解压LZ4文件到本地CSV with lz4.frame.open('stackunderflow.csv.lz4', mode='rb') as in_file: with open('stackunderflow.csv', mode='wb') as out_file: out_file.write(in_file.read()) # 读取解压后的CSV df = pd.read_csv('stackunderflow.csv')
另外补充个小知识点:Pandas原生支持的压缩格式包括gzip、bz2、zip、xz,这些格式可以直接在pd.read_csv()里通过compression参数指定(比如pd.read_csv('file.csv.gz', compression='gzip')),但LZ4不在这个原生支持列表里,所以必须借助lz4库来处理~
内容的提问来源于stack exchange,提问作者ℕʘʘḆḽḘ
相关产品推荐
相关产品推荐

