如何用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. 能实现:数据处理→生成报告→自动发邮件→文件归档全流程
相关推荐
ZC跨境爬虫1 小时前
跟着 MDN 学CSS day_12 :(值与单位的技能测试与深入理解)
前端·javascript·css·ui·交互
lichenyang4531 小时前
从 AI 聊天组件源码复盘工程化架构:MVVM、解耦、Provider 与 SSE 流式响应
前端
Maimai108081 小时前
TanStack Table 入门:为什么它是 React 表格开发里的“表格引擎”
前端·javascript·react.js·架构·前端框架·reactjs
踩着两条虫1 小时前
VTJ.PRO 开源 AI 低代码引擎深度评测大纲
前端·低代码·开源软件
你听得到112 小时前
从 Figma 走查到 AI 可验证产物:我如何重构客户端 UI 交付链路
前端·vue.js·flutter
Moment2 小时前
开发Agent为什么必须先做意图识别?
前端·后端·面试
小糖学代码2 小时前
LLM系列:1.python入门:12.异常处理(Exceptions)
前端·人工智能·python·深度学习
追忆3182 小时前
我为什么自己做了一个密码生成工具:聊聊 Web Crypto API 在前端随机数生成中的实践
前端
葬送的代码人生2 小时前
从零到一:AI 全栈开发入门 —— 构建一个简单的用户聊天系统
前端·javascript·架构