告别手动加班 Python批量处理Excel表格(读写/筛选/统计)

📅 2026/7/20 20:31:11 👁️ 阅读次数 📝 编程学习
告别手动加班 Python批量处理Excel表格(读写/筛选/统计)

一、前言

Excel是职场必备工具,但手动处理上万行数据、多表格汇总、数据筛选、格式调整,不仅耗时,还容易出错。本文使用openpyxl库,实现Python自动化操作Excel,支持xlsx格式文件,适配所有职场表格场景,代码简单易懂、零报错、可直接套用。

二、环境安装

# 安装Excel处理核心库
pip install openpyxl

三、六大职场Excel实战场景

1. 读取Excel表格所有数据

from openpyxl import load_workbook# 加载Excel文件,read_only只读模式提升速度
wb = load_workbook("月度销售数据.xlsx", read_only=True)
# 获取工作表
ws = wb.active# 遍历读取所有行数据
for row in ws.iter_rows(values_only=True):print(row)
wb.close()

2. 写入数据到Excel(新建表格/追加数据)

from openpyxl import Workbook# 新建工作簿
wb = Workbook()
ws = wb.active
ws.title = "员工台账"# 写入表头
ws.append(["员工姓名", "部门", "薪资", "入职时间"])
# 写入多行数据
data_list = [["张三", "技术部", "8500", "2024-01-10"],["李四", "市场部", "7200", "2024-02-15"],["王五", "人事部", "6800", "2024-03-20"]
]
for data in data_list:ws.append(data)# 保存文件
wb.save("员工信息台账.xlsx")
print("Excel数据写入完成!")

3. 批量筛选表格指定数据

场景:筛选薪资大于7000的员工数据
from openpyxl import load_workbookwb = load_workbook("员工信息台账.xlsx")
ws = wb.active
result = []# 跳过表头,从第二行开始读取
for row in ws.iter_rows(min_row=2, values_only=True):name, dept, salary, time = rowif int(salary) > 7000:result.append(row)print("薪资达标员工:", result)
wb.close()

4. 批量修改单元格数据

场景:给技术部员工统一加薪500
from openpyxl import load_workbookwb = load_workbook("员工信息台账.xlsx")
ws = wb.activefor row in range(2, ws.max_row + 1):dept = ws.cell(row=row, column=2).valueif dept == "技术部":old_salary = ws.cell(row=row, column=3).valuews.cell(row=row, column=3).value = old_salary + 500wb.save("员工信息台账_更新后.xlsx")
print("批量薪资调整完成!")

5. 统计表格数据(最大值/最小值/平均值)

from openpyxl import load_workbookwb = load_workbook("员工信息台账.xlsx")
ws = wb.active
salary_list = []for row in range(2, ws.max_row + 1):salary = ws.cell(row=row, column=3).valuesalary_list.append(salary)print(f"最高薪资:{max(salary_list)}")
print(f"最低薪资:{min(salary_list)}")
print(f"平均薪资:{sum(salary_list)/len(salary_list):.2f}")
wb.close()

6. 批量合并多个Excel文件

职场高频场景:汇总多个月度报表、多个部门台账
import os
from openpyxl import load_workbook, Workbook# 存放多个Excel的文件夹
file_path = r"./月度报表文件夹"
# 新建汇总表格
new_wb = Workbook()
new_ws = new_wb.active
new_ws.title = "数据汇总表"
# 表头写入
new_ws.append(["姓名", "部门", "业绩", "月份"])# 遍历所有Excel文件
for file in os.listdir(file_path):if file.endswith(".xlsx"):wb = load_workbook(os.path.join(file_path, file))ws = wb.active# 读取数据写入新表格for row in ws.iter_rows(min_row=2, values_only=True):new_ws.append(row)wb.close()new_wb.save("月度数据总汇总.xlsx")
print("多表格合并完成!")

四、职场实战总结

1、openpyxl仅支持xlsx格式,老版本xls文件可先另存为xlsx再处理;
2、超大表格使用read_only模式,避免内存溢出;
3、批量汇总、筛选、修改场景,效率远超Excel函数和透视表。

下篇预告

下一篇讲解Python Word自动化,实现批量生成合同、报告、公文文档。
标签:Python、Excel自动化、职场办公、数据分析、原创