首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用 Python 玩转办公自动化:让你一键生成报表、邮件群发、文件批处理

用 Python 玩转办公自动化:让你一键生成报表、邮件群发、文件批处理

原创
作者头像
用户11690571
发布2025-06-10 09:03:50
发布2025-06-10 09:03:50
27600
代码可运行
举报
运行总次数:0
代码可运行

每天机械复制粘贴 Excel?手动发几十封邮件?打开上百个 Word 文档修改标题?用 Python 搞定这些,只需几分钟!


一、为什么要学 Python 办公自动化?

如果你每天都在做这些事情:

  • 复制 Excel 表格内容到 Word 报告中;
  • 每天向几十位客户发送相似邮件;
  • 定期从文件夹中整理图片、PDF、文档等;
  • 将数据图表自动插入 Word 报告;
  • 将文件按日期归类重命名……

那么你非常适合了解 Python 办公自动化。你不需要成为程序员,只需要会复制粘贴代码、稍加改动,即可让日常任务效率提升 10 倍!


二、准备环境

办公自动化需要的一些库:

代码语言:javascript
代码运行次数:0
运行
复制
bash复制编辑pip install pandas openpyxl python-docx pywin32 yagmail pillow

用到的库说明:

库名

功能

pandas

Excel 表格读取与处理

openpyxl

操作 Excel 文件

python-docx

操作 Word 文档

pywin32

控制 Word、Excel、Outlook

yagmail

发送带附件的邮件

os, shutil

批量管理文件

Pillow

图像处理(如自动压缩图片)


三、自动生成日报 Excel + Word 报告

Step 1:处理 Excel 数据

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑import pandas as pd

df = pd.read_excel("sales_data.xlsx")
summary = df.groupby("地区")[["销售额"]].sum().reset_index()
summary.to_excel("日报_汇总.xlsx", index=False)

Step 2:插入 Word 报告

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑from docx import Document

doc = Document()
doc.add_heading("销售日报", 0)

doc.add_paragraph("以下是今日各地区销售额:")

table = doc.add_table(rows=1, cols=2)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '地区'
hdr_cells[1].text = '销售额'

for _, row in summary.iterrows():
    cells = table.add_row().cells
    cells[0].text = row["地区"]
    cells[1].text = str(row["销售额"])

doc.save("日报.docx")

你也可以插入图片或图表(使用 matplotlib 生成图后保存,再插入 Word):

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑from docx.shared import Inches
doc.add_picture("sales_plot.png", width=Inches(5))

四、批量发送带附件邮件(自动化群发)

我们用 yagmail + QQ 邮箱(或企业邮箱)来群发邮件。

Step 1:初始化邮箱对象(以 QQ 邮箱为例)

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑import yagmail

yag = yagmail.SMTP(user="your@qq.com", password="授权码", host="smtp.qq.com")

Step 2:读取客户名单并群发

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑df = pd.read_excel("客户列表.xlsx")  # 包含客户名和邮箱地址

for i, row in df.iterrows():
    name = row['姓名']
    email = row['邮箱']
    yag.send(
        to=email,
        subject="日报送达",
        contents=[
            f"{name},您好,这是您今日的销售报告。",
            "请查收附件。",
        ],
        attachments="日报.docx"
    )

✅ 支持添加多个附件、抄送、多图插入、个性化问候语等。


五、批量修改 Word 文档标题与内容(适合简历、报告模板)

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑from docx import Document
import os

files = os.listdir("简历模板/")

for file in files:
    if file.endswith(".docx"):
        doc = Document(f"简历模板/{file}")
        doc.paragraphs[0].text = "张三的个人简历"  # 修改标题
        doc.save(f"简历模板/改后_{file}")

也可以替换文中的指定文字:

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑for p in doc.paragraphs:
    if "姓名" in p.text:
        p.text = p.text.replace("姓名", "张三")

六、自动整理、重命名文件(文档、图片分类神器)

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑import os
import shutil

source_folder = "下载文件"
target_folder = "整理后/"

for file in os.listdir(source_folder):
    ext = os.path.splitext(file)[1]
    folder = ext.strip('.').upper() + "_文件"

    new_dir = os.path.join(target_folder, folder)
    os.makedirs(new_dir, exist_ok=True)
    shutil.move(os.path.join(source_folder, file), os.path.join(new_dir, file))

将所有 .pdf 放进 PDF_文件 文件夹,.jpg 放进 JPG_文件 文件夹……


七、Word + Excel + 图表合成自动化日报系统(实战组合)

  1. 从 Excel 读取销售数据 → 计算汇总;
  2. 用 matplotlib 生成图;
  3. 插入 Word 模板;
  4. 群发邮件自动发送给不同部门负责人;
  5. 每日定时运行(使用 Windows 任务计划或 Python 定时库)。

完整架构图:

代码语言:javascript
代码运行次数:0
运行
复制
css复制编辑[Excel 数据] → [Python 分析] → [Word 报告 + 图] → [邮件发送]

八、定时运行任务

你可以让自动化任务每天 9 点执行一次。

方法一:Windows 任务计划程序 方法二:使用 Python 定时库 schedule

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑import schedule
import time

def task():
    print("正在生成并发送日报...")

schedule.every().day.at("09:00").do(task)

while True:
    schedule.run_pending()
    time.sleep(10)

九、Python 自动办公的实际应用场景总结

场景

说明

报表自动生成

Excel → Word → 发送

批量邮件

带附件、个性化内容群发

文件管理

批量分类、重命名

批量图片处理

压缩、尺寸统一、改名

自动抄表

提取设备日志定时入库


十、总结:你的效率可以暴涨的关键!

  • 不再手动复制粘贴数据;
  • 不再为每天重复发邮件苦恼;
  • 不再手动排版几十份报告;
  • 不再担心文件乱成一团;
  • 一次写好,自动运行,安心下班。

十一、推荐下一步学习路径

  • 📘 xlwings:控制 Excel 公式、图表;
  • 📘 win32com:深度操作 Office 套件(打开、打印、转 PDF);
  • 📘 docxtpl:用模板快速批量生成 Word 文档;
  • 📘 streamlit:做一个你自己的报表网页端;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、为什么要学 Python 办公自动化?
  • 二、准备环境
    • 用到的库说明:
  • 三、自动生成日报 Excel + Word 报告
    • Step 1:处理 Excel 数据
    • Step 2:插入 Word 报告
  • 四、批量发送带附件邮件(自动化群发)
    • Step 1:初始化邮箱对象(以 QQ 邮箱为例)
    • Step 2:读取客户名单并群发
  • 五、批量修改 Word 文档标题与内容(适合简历、报告模板)
  • 六、自动整理、重命名文件(文档、图片分类神器)
  • 七、Word + Excel + 图表合成自动化日报系统(实战组合)
  • 八、定时运行任务
  • 九、Python 自动办公的实际应用场景总结
  • 十、总结:你的效率可以暴涨的关键!
  • 十一、推荐下一步学习路径
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档