Python自动化办公

第五篇:Python自动化办公:10行代码搞定重复性工作

适合读者 :职场人士、数据分析师 | 阅读时长:12分钟


引言

每天重复处理Excel、PDF或邮件?Python可以帮你自动化这些枯燥任务,节省90%的时间。本文通过实际案例,展示如何用10行以内的代码提升办公效率。


1. 批量处理Excel文件

场景 :合并多个Excel表格中的销售数据。
传统方法 :手动复制粘贴 → 容易出错 + 耗时。
Python方案

python 复制代码
import pandas as pd
import glob

# 读取所有Excel文件并合并
files = glob.glob("sales_*.xlsx")  # 匹配所有以sales_开头的文件
df = pd.concat([pd.read_excel(f) for f in files])
df.to_excel("combined_sales.xlsx", index=False)  # 输出合并后的文件

效果:3秒完成原本需要1小时的工作。


2. 自动发送邮件(带附件)

场景 :每周定时发送报告给团队。
传统方法 :手动编辑邮件 + 添加附件 → 枯燥且易忘。
Python方案

python 复制代码
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

msg = MIMEMultipart()
msg["From"] = "your_email@example.com"
msg["To"] = "team@example.com"
msg["Subject"] = "本周销售报告"
msg.attach(MIMEText("请查收附件中的最新数据。", "plain"))

# 添加附件
with open("report.pdf", "rb") as f:
    attachment = MIMEText(f.read(), "base64", "utf-8")
    attachment["Content-Disposition"] = 'attachment; filename="report.pdf"'
    msg.attach(attachment)

# 发送邮件(需配置SMTP服务器)
server = smtplib.SMTP("smtp.example.com", 587)
server.login("your_email@example.com", "password")
server.send_message(msg)
server.quit()

安全提示 :建议使用keyring库存储密码,而非硬编码。


3. PDF批量转Word

场景 :客户提供PDF合同,需转为Word编辑。
传统方法 :使用付费软件逐个转换 → 费钱费时。
Python方案

python 复制代码
from pdf2docx import Converter

pdf_files = ["contract1.pdf", "contract2.pdf"]
for pdf in pdf_files:
    docx_file = pdf.replace(".pdf", ".docx")
    cv = Converter(pdf)
    cv.convert(docx_file, start=0, end=None)
    cv.close()

依赖库pip install pdf2docx
注意:复杂排版可能需微调。


4. 监控文件夹 + 自动备份

场景 :实时备份重要文件到云端。
传统方法 :手动拖拽到网盘 → 容易遗漏。
Python方案

python 复制代码
import shutil
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class BackupHandler(FileSystemEventHandler):
    def on_modified(self, event):
        if not event.is_directory:  # 只处理文件
            shutil.copy2(event.src_path, "/cloud_backup/")

observer = Observer()
observer.schedule(BackupHandler(), path="/important_files/")
observer.start()

try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    observer.stop()
observer.join()

扩展:可集成Google Drive/Dropbox API实现真·云端备份。


5. 微信消息自动化(防撤回存档)

场景 :保存重要群聊中的撤回消息。
技术栈itchat + 正则表达式
代码片段

python 复制代码
import itchat
import re

@itchat.msg_register(itchat.content.TEXT)
def save_recalled(msg):
    if "撤回了一条消息" in msg["Text"]:
        recalled = re.search(r'"(.+?)"', msg["Text"]).group(1)
        with open("recalled.txt", "a") as f:
            f.write(f"{msg['FromUserName']} 撤回:{recalled}\n")

itchat.auto_login(hotReload=True)
itchat.run()

注意:需遵守平台使用规范,避免滥用。


结语

Python自动化不是程序员的专利。掌握这些脚本,你将成为办公室的效率明星。
下一步

  1. 尝试将脚本设置为定时任务(如用cron或Windows任务计划程序)
  2. 学习错误处理(try/except)让脚本更健壮

讨论:你最想自动化哪个办公场景?欢迎留言!


如需其他方向的自动化案例(如网页爬虫、图像处理等),可随时提出!

相关推荐
爱喝白开水a几秒前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
Never_Satisfied几秒前
在JavaScript / HTML中,关于querySelectorAll方法
开发语言·javascript·html
学易4 分钟前
第十五节.别人的工作流,如何使用和调试(上)?(2类必现报错/缺失节点/缺失模型/思路/实操/通用调试步骤)
人工智能·ai作画·stable diffusion·报错·comfyui·缺失节点
空白诗4 分钟前
CANN ops-nn 算子解读:大语言模型推理中的 MatMul 矩阵乘实现
人工智能·语言模型·矩阵
空白诗11 分钟前
CANN ops-nn 算子解读:AIGC 风格迁移中的 BatchNorm 与 InstanceNorm 实现
人工智能·ai
新芒11 分钟前
暖通行业两位数下滑,未来靠什么赢?
大数据·人工智能
B站_计算机毕业设计之家14 分钟前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
weixin_4462608519 分钟前
掌握 Claude Code Hooks:让 AI 变得更聪明!
人工智能
小白|21 分钟前
CANN性能调优实战:从Profiling到极致优化的完整方案
人工智能
哈__22 分钟前
CANN加速图神经网络GNN推理:消息传递与聚合优化
人工智能·深度学习·神经网络