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

如何使用Python将多个Excel预算文件合并汇总(非追加)为单个文件?

预算汇总代码修正方案

原有代码存在3个核心问题:

  • concat操作放在for循环外,仅能拼接最后一个读取的文件数据
  • 未指定读取Budget工作表,后续多工作表场景会读取默认的第一个工作表
  • 缺少按总账科目分组求和的逻辑,仅完成数据拼接未做汇总计算

可直接运行的修正代码

# 导入依赖库
import pandas as pd
import glob

# 配置参数
file_path = '*.xlsx'  # 可替换为实际Excel文件存放路径
sheet_name = 'Budget' # 固定读取预算工作表
skip_rows = 11        # 表头跳过行数,可根据实际数据调整
use_cols = 'D:P'      # 读取列范围,可根据实际数据调整
max_rows = 147        # 读取数据行数,可根据实际数据调整

# 获取所有待处理Excel文件
files = glob.glob(file_path)
df_list = []

# 循环读取所有文件的预算表数据
for file in files:
    df = pd.read_excel(
        file,
        sheet_name=sheet_name,
        index_col=None,
        skiprows=skip_rows,
        nrows=max_rows,
        usecols=use_cols
    )
    # 重命名列,确保第一列为总账科目,后续为1-12月,可根据实际列名调整
    df.columns = ['总账科目描述', '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
    df_list.append(df)

# 合并所有文件数据
combined_df = pd.concat(df_list, ignore_index=True)

# 按总账科目分组,对各月份金额求和
summary_df = combined_df.groupby('总账科目描述', as_index=False).sum(numeric_only=True)

# 输出汇总结果
summary_df.to_excel('年度预算汇总结果.xlsx', index=False)

补充说明

  • 若实际读取的列顺序和上述列名定义不符,调整df.columns的字段顺序即可
  • 后续无需删除其他工作表,代码中已经指定了sheet_name='Budget',会自动过滤其他工作表
  • 若有科目名称不统一的情况,可在分组前增加字段清洗逻辑处理异常值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:54:03