如何用Python实现办公自动化?

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)

三、进阶:一键搞定全流程自动化

你可以把上面功能组合起来,实现全自动办公流水线:

  1. 从 Excel 读取数据
  2. 自动计算 / 清洗
  3. 生成 Word/PDF 报告
  4. 自动邮件发给领导 / 客户
  5. 自动归档文件

示例完整小脚本:

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
PDF PyPDF2 / pdfplumber 合并、提取、编辑
邮件 smtplib / email 自动发邮件
文件 / 文件夹 os / shutil 重命名、整理、备份
网页自动化 selenium 自动填表、爬取数据
定时任务 schedule 每天定时自动执行

五、快速上手建议(零基础也能学会)

  1. 先学 Excel 自动化(90% 办公人最需要)
  2. 复制代码 → 改文件名 / 路径 → 直接运行
  3. 先做小工具(批量重命名、合并表格)
  4. 再做全流程自动化

总结

  1. Python 办公自动化 =替代重复手动操作,零门槛可用
  2. 核心工具:pandas(Excel)、python-docx(Word)、PyPDF2(PDF)
  3. 复制我给的代码,改下文件名就能直接用
  4. 能实现:数据处理→生成报告→自动发邮件→文件归档全流程
相关推荐
卷无止境10 分钟前
ECharts:把数据变成故事的可视化利器
前端
Eric_见嘉18 分钟前
在职前端 Skill 和 MCP 分享
前端·后端·agent
liangshanbo121535 分钟前
面试题:如何优化 Webpack 的打包速度?
前端·webpack·node.js
wengad44 分钟前
从 wangEditor 迁到 wangEditor-next
前端·javascript·vue.js
行者-全栈开发2 小时前
【前端/JS框架】CVE-2026-3854:GitHub Enterprise Server X-Stat注入XSS漏洞深度剖析与紧急修复指南
前端·javascript·github
计算机魔术师3 小时前
AMD砸82亿买下李飞飞,这次不卖芯片卖什么?
前端
hzxpaipai3 小时前
杭州企业官网怎么建设?从策划到上线的5步建站方法
运维·服务器·前端·网络
怕浪猫3 小时前
2026年金九银十,我面了22个前端
前端·javascript·面试
IT_陈寒4 小时前
Vue 这个响应式陷阱,我的头发都掉没了
前端·人工智能·后端
前端的日常4 小时前
一个人+AI做情侣食谱小程序,30天纯赚
前端·javascript·后端