Python办公 —— Excel透视汇总
- 2026-09-21 19:49:59
Python办公 —— Excel透视汇总
🧮 excel_pivot —— 透视汇总
一行代码替代 Excel 里「插入→透视表→拖拽字段」的繁琐操作。excel_pivot 读取订单明细,自动按「地区 × 品类」汇总销售额与数量,并带总计行列,结果同时输出 xlsx 与 csv。
适用人群
• 经常做销售/订单多维汇总分析的数据、运营同学。 • 想要「数据进来、汇总表出去」全自动化的效率控。 • 习惯用 pandas 但不想每次手敲透视参数的新手。
功能简介
• 读取 testdata/orders.xlsx(列:地区, 品类, 销售额, 数量)。• 生成透视表:行=地区,列=品类,值=销售额/数量,聚合方式 sum,带「总计」。• 同时输出 output/pivot.xlsx与output/pivot.csv(CSV 带 BOM,Excel 打开不乱码)。• 行/列/值/聚合方式均可命令行指定。 

环境准备
依赖 pandas(底层读写引擎 openpyxl):
pip install pandas openpyxl使用方法
cd excel_pivot
# 生成测试素材
python gen_testdata.py
# 默认透视:地区 × 品类,汇总 销售额/数量 之和
python excel_pivot.py
# 自定义:按 品类 行、地区 列,只看 销售额 的平均值
python excel_pivot.py --index 品类 --columns 地区 --values 销售额 --agg mean结果写入 output/pivot.xlsx 与 output/pivot.csv。
核心代码讲解
1. 一行生成透视表
pivot = pd.pivot_table(
df,
index="地区", # 行
columns="品类", # 列
values=["销售额", "数量"],
aggfunc="sum", # 聚合
margins=True, # 显示总计
margins_name="总计",
)pivot_table 是 pandas 的核心汇总函数;margins=True 自动加总计行列。
2. 双格式输出
pivot.to_excel(OUTPUT_XLSX, engine="openpyxl")
pivot.to_csv(OUTPUT_CSV, encoding="utf-8-sig")utf-8-sig 写入 BOM,Excel 双击 CSV 时中文不会乱码。
3. 命令行灵活配置
parser.add_argument("--values", nargs="+", default=["销售额", "数量"])nargs="+" 允许一次传多个值列,比如 --values 销售额 数量 利润。
测试素材说明
testdata/orders.xlsx 含 12 行订单,含部分「同地区+同品类」重复组合以演示聚合:
(华东食品=1500、华南数码=2400、华北家居=1500 将被聚合求和)
常见问题
• Q:CSV 打开中文乱码?
A:脚本已用utf-8-sig,若仍乱码请确认用 Excel 打开而非记事本。• Q:想换成平均值/计数?
A:--agg mean或--agg count即可,aggfunc支持任意 pandas 聚合函数。• Q:多值列时表头是两层?
A:是的,pandas 会把「数值列×类别」做成多级列头,Excel 中显示为合并标题。
打包成 exe
# 1. 安装打包工具
pip install pyinstaller
# 2. 单文件、无控制台
pyinstaller -F -w excel_pivot.py
# 3. 加图标
pyinstaller -F -w -i excel_pivot.ico excel_pivot.py
# 4. 瘦身
pyinstaller -F -w --exclude-module matplotlib --exclude-module numpy.linalg \
--exclude-module scipy excel_pivot.py资源文件路径处理:脚本用 os.path.dirname(os.path.abspath(__file__)) 定位 testdata/orders.xlsx 与 output/,打包后从 exe 同目录读取,无需 --add-data。exe 与 testdata 文件夹放一起即可。
常见坑
• pandas 打包体积较大属正常;用 --exclude-module可瘦身。• 若报缺失模块,加 --hidden-import=openpyxl。• 双击无反应多半缺 testdata/orders.xlsx,去掉-w重打包看报错。
小结
excel_pivot 是数据分析的「收口」工具——把清洗好的明细一键变成决策用的汇总表。至此,「合并 → 拆分 → 清洗 → 图表 → 透视」Excel 基础五件套全部就位,足以覆盖办公自动化 80% 的表格场景。
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。