You need to enable JavaScript to run this app. 如何用Python实现Excel同类条目分组求和与文件列表排序输出
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现Excel同类条目分组求和与文件列表排序输出

分类Excel数值累加并固定顺序输出的实现方案

前置依赖

需要使用pandas完成Excel读写、聚合计算,搭配openpyxl支持xlsx格式文件读取,执行以下命令安装即可:
pip install pandas openpyxl
如果是.xls格式的旧版Excel,额外执行pip install xlrd安装对应读取引擎,不需要修改代码逻辑。

完整实现逻辑

核心流程完全匹配需求:读取两列源数据 → 同分类累加数值 → 按分类固定排序 → 按要求格式输出/导出

import pandas as pd

# 替换为你本地的Excel文件实际路径
# header=None 参数适配无固定表头的两列结构文件,避免把首行数据误判为列名
source_df = pd.read_excel("源文件.xlsx", header=None)
source_df.columns = ["category", "value"]

# 按分类分组累加对应数值
sum_result = source_df.groupby("category", as_index=False)["value"].sum()

# 固定按分类标识字典序升序排序,不管源文件内条目顺序如何,输出顺序始终一致
sorted_result = sum_result.sort_values(by="category", ascending=True)

# 按示例格式打印输出
for _, item in sorted_result.iterrows():
    print(f"{item['category']} {int(item['value'])}")

# 可选:将结果写入新的Excel文件,不保留索引、不写入默认表头
sorted_result.to_excel("分类汇总结果.xlsx", index=False, header=False)

效果匹配说明

按照给出的样例数据执行代码后,计算逻辑完全对应预期:

  • A分类:10 + 20 = 30
  • B分类:30 + 15 = 45
  • C分类:20

最终控制台输出内容和要求的格式完全一致,且因为加入了固定排序逻辑,重复运行脚本不会出现输出顺序变动的问题。

适配调整提示

  • 如果你的源Excel文件自带表头,删除read_excel中的header=None参数,将代码里的category、value替换为你实际的列名即可
  • 如果需要按数值大小而非分类顺序排序,只需要修改sort_values里的by参数为"value"即可调整排序规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.07 08:36:02