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

求助:使用pandas以append模式写入parquet文件时数据被覆盖

Pandas写入Parquet时append模式失效的原因及解决方法

核心问题:单个Parquet文件不支持追加

Parquet是列式存储格式,单个Parquet文件的结构是写后不可修改的,pandas的mode='append'参数对单个Parquet文件无效,执行时依然会覆盖原有文件。

你遗漏的关键细节及解决方法

  • 必须写入目录而非单个文件
    要实现追加功能,需要将目标路径设为一个目录(而非具体的.parquet文件路径)。pandas会在该目录下生成多个独立的Parquet文件,mode='append'时会新增文件到目录中,而非覆盖。
    正确的写入语法:

    df.to_parquet('./parquet_data_dir', mode='append', engine='pyarrow')
    

    读取时直接读取整个目录即可自动合并所有文件:

    pd.read_parquet('./parquet_data_dir')
    
  • 确认引擎支持
    不同的Parquet引擎对append模式的支持有差异:

    • 使用engine='pyarrow'时,对目录式Parquet数据集的append支持更稳定;
    • fastparquet也支持目录追加,但需要确保版本兼容。
  • 保证数据Schema一致
    追加的新数据必须和原有数据的Schema(列名、数据类型)完全一致,否则可能导致追加失败或数据读取异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:15:35