Python入门连载(五)
实战Excel自动化!自动统计报表,告别手动加班
前面四篇我们从安装环境、基础语法,一路做到了批量文件重命名。
很多人已经尝到了自动化的甜头,纷纷催更:能不能直接搞Excel?
这篇就用最简单的方式,带你用Python读取、计算、输出Excel,不用复杂插件,不用记复杂函数,复制就能跑,真正实现办公提速。
一、这个脚本能帮你解决什么?
每天手动汇总报表,重复又枯燥
多个Excel文件求和、求平均、算总数
整理数据格式,一弄就是半小时
数据量大时容易算错、漏算
用Python几行代码,几秒处理完一个小时的工作量,准确率100%。
二、准备工作
在桌面新建一个 data.xlsx
第一列写姓名,第二列写分数,随便填几行测试数据
VSCode里新建文件:excel_auto.py
先安装处理Excel的库,打开终端输入:
pip install openpyxl
三、完整可直接复制的Excel自动化代码
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook("data.xlsx")
ws = wb.active
print("===== 成绩数据 =====")
total = 0
count = 0
# 从第2行开始遍历(跳过表头)
for row in range(2, ws.max_row + 1):
name = ws.cell(row=row, column=1).value
score = ws.cell(row=row, column=2).value
print(f"{name}:{score} 分")
total += score
count += 1
avg = total / count
print("====================")
print(f"总人数:{count}")
print(f"总分:{total}")
print(f"平均分:{round(avg, 2)}")
# 保存结果
ws.cell(row=1, column=4).value = "总分"
ws.cell(row=2, column=4).value = total
ws.cell(row=1, column=5).value = "平均分"
ws.cell(row=2, column=5).value = round(avg, 2)
wb.save("结果.xlsx")
print("Excel 自动处理完成!")
四、代码超简单说明
openpyxl 专门用来读写Excel,最适合新手
ws.max_row 自动获取最后一行,不用数行数
循环读取每一行,自动计算总分、平均分
自动生成新Excel,把结果写进去
你只需要准备好表格,其他全部交给Python。
五、新手常见问题
报错找不到文件
把Excel和py文件放在同一个文件夹,或写完整路径。
安装库失败
检查网络,或换镜像源:
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple
计算出错
确保第二列是数字,不是文本格式。
Python实战连载持续,下一篇不见不散~