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

Pandas如何在DataFrame底部添加列合计行并随导出结果保留

Pandas DataFrame 导出前添加底部合计行方案

不要逐列手动调用.sum()计算,直接通过批量逻辑生成合计行拼接进DataFrame后再导出,一次写完逻辑可永久复用,无需导出后手动修改文件。

  • 通用方案(CSV/Excel导出均适用,无额外依赖)
    自动识别所有数值列计算合计值,非数值列自动填充「合计」标识,全程在DataFrame层面完成处理,导出即带合计行:

    import pandas as pd
    
    # 复制原始数据避免修改源DataFrame
    export_data = Wilhelm.copy()
    
    # 批量生成合计行规则
    sum_row = {}
    for col in export_data.columns:
        # 数值列自动求和,非数值列填合计标签
        if pd.api.types.is_numeric_dtype(export_data[col]):
            # 不需要求和的数值列(如序号、ID)可单独指定值,比如 sum_row[col] = ""
            sum_row[col] = export_data[col].sum()
        else:
            sum_row[col] = "合计"
    
    # 拼接合计行到数据末尾
    export_data = pd.concat(
        [export_data, pd.DataFrame(sum_row, index=[0])],
        ignore_index=True
    )
    
    # 直接导出,无需事后修改文件
    export_data.to_csv("导出结果.csv", index=False, encoding="utf-8-sig")
    export_data.to_excel("导出结果.xlsx", index=False)
    
  • Excel专属优化方案(合计为可自动更新的公式)
    如果只需要导出Excel文件,可以在导出时直接写入Excel原生SUM公式,后续修改表格内上方数值时,合计值会自动更新,还可直接给合计行加样式:

    import pandas as pd
    from openpyxl import load_workbook
    from openpyxl.styles import Font
    
    # 先导出原始明细数据
    Wilhelm.to_excel("带公式合计.xlsx", index=False, sheet_name="明细")
    
    # 加载文件追加合计行
    wb = load_workbook("带公式合计.xlsx")
    ws = wb["明细"]
    sum_row_idx = ws.max_row + 1
    
    # 第一列写入合计标识
    ws.cell(row=sum_row_idx, column=1, value="合计").font = Font(bold=True)
    
    # 遍历需要合计的列写入SUM公式,例:从第2列开始为金额、数量等需合计的数值列
    for col_idx in range(2, ws.max_column + 1):
        col_letter = chr(64 + col_idx)
        sum_cell = ws.cell(
            row=sum_row_idx, 
            column=col_idx, 
            value=f"=SUM({col_letter}2:{col_letter}{sum_row_idx-1})"
        )
        sum_cell.font = Font(bold=True)
    
    wb.save("带公式合计.xlsx")
    

两种方案都不需要逐列手动写求和逻辑,代码写完一次后续所有导出场景都能直接复用,比逐列计算再手动补到导出文件里效率高很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:48:18