首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python 自动化办公实战:用 Python 提效 10 倍的办公神器项目

Python 自动化办公实战:用 Python 提效 10 倍的办公神器项目

原创
作者头像
用户11690575
发布2025-06-10 09:15:41
发布2025-06-10 09:15:41
40300
代码可运行
举报
运行总次数:0
代码可运行

一、自动化办公的三大核心场景

在职场中,常见的重复性任务包括:

  1. Excel 数据处理:合并、多表分析、生成报表
  2. 邮件自动发送:批量发送个性化邮件
  3. 文件批量操作:重命名、整理、分类、转换格式等

传统方式不仅浪费时间,还容易出错。Python 提供了强大支持,可以帮我们快速构建自动化工具。


二、准备工作:核心模块安装

安装以下常用模块:

代码语言:javascript
代码运行次数:0
运行
复制
bash复制编辑pip install openpyxl pandas xlrd pywin32

可选模块:

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

三、Excel 自动处理实战

示例:每月员工打卡记录合并 + 报表生成

📁 目录结构示意:

代码语言:javascript
代码运行次数:0
运行
复制
复制编辑📂打卡数据
├── 1月.xlsx
├── 2月.xlsx
├── ...

1. 批量读取并合并

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

folder = './打卡数据'
all_files = [f for f in os.listdir(folder) if f.endswith('.xlsx')]

df_list = []

for file in all_files:
    path = os.path.join(folder, file)
    df = pd.read_excel(path)
    df['月份'] = file.replace('.xlsx', '')
    df_list.append(df)

merged_df = pd.concat(df_list)
merged_df.to_excel("打卡合并总表.xlsx", index=False)

2. 按部门统计汇总

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑summary = merged_df.groupby('部门')['打卡天数'].sum().reset_index()
summary.to_excel("部门打卡汇总.xlsx", index=False)

四、邮件自动发送系统

目标:自动发送个性化邮件(含附件、称呼)

1. 用 yagmail 发送邮件

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

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

yag.send(
    to="user@example.com",
    subject="月度打卡通知",
    contents="您好,本月打卡报告请查收!",
    attachments="打卡合并总表.xlsx"
)

✅ 支持多个收件人,支持附件、HTML、图片嵌入等。

2. 多人邮件自动发送(基于 Excel 通讯录)

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑contacts = pd.read_excel("收件人表.xlsx")

for _, row in contacts.iterrows():
    name = row['姓名']
    email = row['邮箱']
    content = f"{name},您好,本月打卡数据已发送,请查收!"

    yag.send(
        to=email,
        subject="【公司通知】月度打卡报告",
        contents=content,
        attachments="打卡合并总表.xlsx"
    )

五、批量 Word 文件生成

场景:自动生成员工证明、发票等文档

使用 python-docx

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

doc = Document()
doc.add_heading("员工工作证明", 0)
doc.add_paragraph("兹证明 XXX 为我司正式员工,表现良好。")
doc.save("证明文档.docx")

替换模板批量生成

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑template = Document("证明模板.docx")
contacts = pd.read_excel("员工名单.xlsx")

for _, row in contacts.iterrows():
    name = row['姓名']
    new_doc = Document("证明模板.docx")
    
    for p in new_doc.paragraphs:
        if '【姓名】' in p.text:
            p.text = p.text.replace("【姓名】", name)
    
    new_doc.save(f"{name}_工作证明.docx")

六、批量图片处理(压缩 + 重命名)

适用:产品图处理、签名图导入、Logo 统一命名等

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

src_folder = './images'
dst_folder = './processed'

os.makedirs(dst_folder, exist_ok=True)

for i, filename in enumerate(os.listdir(src_folder)):
    if filename.endswith(".jpg"):
        img = Image.open(os.path.join(src_folder, filename))
        img = img.resize((600, 400))
        new_name = f"img_{i+1}.jpg"
        img.save(os.path.join(dst_folder, new_name), quality=85)

📌 效果图示意:


七、自动操作本地文件夹(文件分类)

案例:根据文件类型分类归档文件

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

folder = './资料包'
for file in os.listdir(folder):
    full_path = os.path.join(folder, file)
    if file.endswith('.pdf'):
        shutil.move(full_path, './PDF文件/' + file)
    elif file.endswith('.docx'):
        shutil.move(full_path, './Word文件/' + file)

你还可以结合 schedule 实现定时扫描整理。


八、图形界面化你的工具(简易 GUI)

使用 tkinter 构建界面操作入口:

代码语言:javascript
代码运行次数:0
运行
复制
python复制编辑import tkinter as tk
from tkinter import filedialog

def choose_file():
    file = filedialog.askopenfilename()
    print("选择的文件:", file)

win = tk.Tk()
win.title("自动办公工具")
tk.Button(win, text="选择文件", command=choose_file).pack(padx=20, pady=20)
win.mainloop()

界面图效果如下:

📷


九、自动定时执行脚本(Windows+Linux)

1. Windows 中使用任务计划程序

  • 打开“任务计划程序”
  • 创建任务 → 触发器选择时间
  • 操作设置为:python 脚本路径.py

2. Linux / Mac 下使用 cron

代码语言:javascript
代码运行次数:0
运行
复制
bash复制编辑crontab -e

添加如下行表示每天早上 9 点执行脚本:

代码语言:javascript
代码运行次数:0
运行
复制
ruby复制编辑0 9 * * * /usr/bin/python3 /home/user/job.py

十、推荐自动化项目题目

项目名称

核心功能

考勤分析系统

多表合并、部门汇总、可视化

薪资条自动生成

批量 Word/PDF 生成+发邮件

批量简历处理

提取关键信息、生成表格

文件搬运工

根据规则自动归档分类

自动日报系统

生成日报并定时发邮件


十一、进阶推荐模块

模块名

用途

pyautogui

鼠标键盘自动化

selenium

浏览器自动操作

docxtpl

Word 模板替换

pdfplumber

PDF 内容提取

pyecharts

图表仪表盘生成

win32com

操作 Office 宏、打开 Excel


十二、总结与展望

自动化办公的精髓在于:让代码做重复的事,让人类做创造的事

通过本篇你已经学会了:

  • 批量处理 Excel、Word、图片、文件夹
  • 自动邮件发送
  • 定时执行与图形界面设计

未来可扩展为完整的办公系统,甚至与企业 OA、钉钉、飞书对接,实现企业级自动化。

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

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

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

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

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、自动化办公的三大核心场景
  • 二、准备工作:核心模块安装
  • 三、Excel 自动处理实战
    • 示例:每月员工打卡记录合并 + 报表生成
    • 1. 批量读取并合并
    • 2. 按部门统计汇总
  • 四、邮件自动发送系统
    • 1. 用 yagmail 发送邮件
    • 2. 多人邮件自动发送(基于 Excel 通讯录)
  • 五、批量 Word 文件生成
    • 使用 python-docx
    • 替换模板批量生成
  • 六、批量图片处理(压缩 + 重命名)
  • 七、自动操作本地文件夹(文件分类)
  • 八、图形界面化你的工具(简易 GUI)
  • 九、自动定时执行脚本(Windows+Linux)
    • 1. Windows 中使用任务计划程序
    • 2. Linux / Mac 下使用 cron
  • 十、推荐自动化项目题目
  • 十一、进阶推荐模块
  • 十二、总结与展望
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档