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

如何存储修改后的DataFrame以避免重复导入原始Excel文件?

存储处理后的DataFrame以避免重复导入原始Excel文件

处理完DataFrame后,你可以用以下几种方式把它持久化存储,后续直接读取就能用,不用再重复处理原始Excel:

1. 使用Pickle(Python原生序列化)

这是最简单的方式,直接把DataFrame序列化成二进制文件:

import pandas as pd

# 存储处理好的DataFrame
df.to_pickle('processed_data.pkl')

# 后续脚本直接读取
df = pd.read_pickle('processed_data.pkl')
  • 优点:无需额外安装依赖,Python原生支持,能保留DataFrame的所有结构和数据类型(包括自定义对象)
  • 缺点:文件体积相对较大,只能在Python环境下读取,跨语言兼容性差

2. 使用Feather格式

Feather是专门为DataFrame设计的轻量级格式,读写速度极快,文件体积小:

import pandas as pd

# 存储(需要先安装pyarrow或fastparquet:pip install pyarrow)
df.to_feather('processed_data.feather')

# 读取
df = pd.read_feather('processed_data.feather')
  • 优点:读写速度远超Pickle和CSV,文件紧凑,支持Python和R跨语言读取,完美保留数据类型
  • 缺点:需要额外安装依赖库

3. 使用Parquet格式

Parquet是列式存储格式,压缩率极高,适合大数据场景:

import pandas as pd

# 存储(同样需要pyarrow或fastparquet)
df.to_parquet('processed_data.parquet')

# 读取
df = pd.read_parquet('processed_data.parquet')
  • 优点:压缩率最高,适合大型数据集,跨语言支持广泛(Python、R、Java等都能读),保留数据类型
  • 缺点:依赖第三方库,小数据集的读写速度略逊于Feather

不推荐:CSV格式

虽然CSV通用,但会丢失DataFrame的元数据(比如日期类型、类别类型),而且读写速度慢、文件体积大,除非有必须用CSV的场景,否则不建议用:

# 不推荐的示例
df.to_csv('processed_data.csv', index=False)
df = pd.read_csv('processed_data.csv')
# 注意:读取后需要手动恢复数据类型,比如日期列要重新解析

选择建议

  • 仅在Python环境使用,追求简单:选Pickle
  • 需要跨语言或追求极致读写速度:选Feather
  • 处理大型数据集,看重压缩率:选Parquet

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:10:03