Python 办公自动化:从入门到实战(最全指南)
Python 办公自动化核心是用代码替代重复的手动操作,处理 Excel/Word/PPT、邮件、文件、网页、PDF 等办公场景,效率提升 10~100 倍。
我会按最常用办公场景 ,给你直接能用的代码 + 工具 + 实战案例,零基础也能上手。
一、先准备环境(1 分钟搞定)
安装 Python 后,打开命令提示符,执行一键安装常用库:
bash
运行
bash
# 办公自动化必备库
pip install pandas openpyxl python-docx python-pptx pypdf2 python-dotenv smtplib
二、最常用 5 大办公自动化场景(附代码)
场景 1:Excel 自动化(最常用!)
处理:批量读取 / 写入、合并表格、数据计算、生成报表
python
运行
ini
import pandas as pd
# 1. 读取Excel文件
df = pd.read_excel("数据.xlsx", sheet_name="Sheet1")
# 2. 筛选数据(例:筛选销售额>5000的记录)
result = df[df["销售额"] > 5000]
# 3. 批量写入新Excel
result.to_excel("筛选结果.xlsx", index=False)
# 4. 批量合并多个Excel文件
file_list = ["文件1.xlsx", "文件2.xlsx", "文件3.xlsx"]
combined = pd.concat([pd.read_excel(f) for f in file_list])
combined.to_excel("合并总表.xlsx", index=False)
场景 2:Word 自动化(生成报告、合同)
python
运行
python
from docx import Document
# 1. 新建Word文档
doc = Document()
# 2. 添加标题、段落
doc.add_heading("自动化生成的报告", 0)
doc.add_paragraph("这是Python自动生成的正文内容")
# 3. 批量替换文字(模板改合同神器)
for paragraph in doc.paragraphs:
if "[姓名]" in paragraph.text:
paragraph.text = paragraph.text.replace("[姓名]", "张三")
# 4. 保存文档
doc.save("生成文档.docx")
场景 3:PDF 自动化(合并、提取文本、加水印)
python
运行
scss
from PyPDF2 import PdfMerger
# 合并多个PDF
merger = PdfMerger()
pdf_list = ["1.pdf", "2.pdf", "3.pdf"]
for pdf in pdf_list:
merger.append(pdf)
merger.write("合并完成.pdf")
merger.close()
场景 4:自动发送邮件(报表 / 通知自动分发)
python
运行
ini
import smtplib
from email.mime.text import MIMEText
# 配置邮箱
smtp_server = "smtp.qq.com" # 163/QQ/企业邮箱都支持
sender = "你的邮箱@qq.com"
password = "邮箱授权码"
# 编写邮件
msg = MIMEText("Python自动发送的邮件内容", "plain", "utf-8")
msg["Subject"] = "自动化邮件"
msg["From"] = sender
msg["To"] = "接收人邮箱"
# 发送
with smtplib.SMTP_SSL(smtp_server, 465) as server:
server.login(sender, password)
server.sendmail(sender, msg["To"], msg.as_string())
场景 5:文件自动化(重命名、整理、备份)
python
运行
lua
import os
# 批量重命名文件夹里的所有文件
folder = "文件目录"
for index, filename in enumerate(os.listdir(folder)):
old_path = os.path.join(folder, filename)
new_path = os.path.join(folder, f"文件_{index+1}.xlsx")
os.rename(old_path, new_path)
三、进阶:一键搞定全流程自动化
你可以把上面功能组合起来,实现全自动办公流水线:
- 从 Excel 读取数据
- 自动计算 / 清洗
- 生成 Word/PDF 报告
- 自动邮件发给领导 / 客户
- 自动归档文件
示例完整小脚本:
python
运行
python
# 全自动:Excel处理 → 生成报告 → 发邮件
import pandas as pd
from docx import Document
import smtplib
# 1. 处理数据
df = pd.read_excel("销售数据.xlsx")
total = df["销售额"].sum()
# 2. 生成报告
doc = Document()
doc.add_heading(f"月度销售总报告", 0)
doc.add_paragraph(f"总销售额:{total} 元")
doc.save("销售报告.docx")
# 3. 自动发送邮件
# (把上面的邮件代码粘贴过来即可)
四、办公自动化必备工具清单(收藏)
表格
| 办公需求 | Python 库 | 用途 |
|---|---|---|
| Excel | pandas / openpyxl | 数据处理、批量操作 |
| Word | python-docx | 生成文档、替换内容 |
| PPT | python-pptx | 自动生成 PPT |
| PyPDF2 / pdfplumber | 合并、提取、编辑 | |
| 邮件 | smtplib / email | 自动发邮件 |
| 文件 / 文件夹 | os / shutil | 重命名、整理、备份 |
| 网页自动化 | selenium | 自动填表、爬取数据 |
| 定时任务 | schedule | 每天定时自动执行 |
五、快速上手建议(零基础也能学会)
- 先学 Excel 自动化(90% 办公人最需要)
- 复制代码 → 改文件名 / 路径 → 直接运行
- 先做小工具(批量重命名、合并表格)
- 再做全流程自动化
总结
- Python 办公自动化 =替代重复手动操作,零门槛可用
- 核心工具:
pandas(Excel)、python-docx(Word)、PyPDF2(PDF) - 复制我给的代码,改下文件名就能直接用
- 能实现:数据处理→生成报告→自动发邮件→文件归档全流程