You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pyarrow读取pickle文件?Pandas实现代码替换问题

报错原因

你使用的pa.read_serialized()是PyArrow早期版本的废弃接口,目前已经被完全移除,且该接口本身不兼容普通Python/pandas生成的pickle文件格式,因此会运行报错。

正确实现代码

根据你的文件存储场景选择对应方案即可:

场景1:读取pandas原生导出的pickle文件

import glob
import os
import pandas as pd
import pyarrow as pa

dfs = []
for filename in glob.glob(os.path.join(path,"../data/simulated-data-raw/", "*.pkl")):
    with open(filename, 'rb') as f:
        temp = pa.deserialize(f.read())
        dfs.append(temp)
# 替换已废弃的pd.DataFrame.append方法,性能更优
df = pd.concat(dfs, ignore_index=True)

场景2:读取PyArrow IPC格式存储的pkl文件

如果你的pkl文件当初是通过PyArrow接口序列化导出的,用以下代码读取:

import glob
import os
import pandas as pd
import pyarrow as pa

dfs = []
for filename in glob.glob(os.path.join(path,"../data/simulated-data-raw/", "*.pkl")):
    with pa.memory_map(filename, 'rb') as f:
        arrow_table = pa.ipc.open_file(f).read_all()
        temp = arrow_table.to_pandas()
        dfs.append(temp)
df = pd.concat(dfs, ignore_index=True)

内容的提问来源于stack exchange,提问作者mossishahi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 06:57:02