Python自动化办公怎么做_Python自动化提升效率全流程【技巧】

Python自动化办公核心是用代码替代重复操作,涵盖Excel处理、邮件发送、文件整理和PDF提取;pandas一行读表、openpyxl调格式,smtplib+Jinja2精准发邮件,pathlib+re自动清理文件,PyPDF2/pdfplumber组合提取PDF内容。

Python自动化办公的核心是用代码代替重复性操作,把Excel处理、邮件发送、文件整理、PDF提取这些高频任务交给程序完成,省下的时间远比学代码花的多。

从Excel批量处理开始最实用

多数人卡在第一步,其实pandas一行就能读取表格,openpyxl能精准改单元格格式。比如每月汇总销售数据,不用手动复制粘贴:

  • pandas.read_excel()一次读多个Sheet,自动合并成一张表
  • df.groupby().sum()按区域/产品快速汇总,比Excel透视表还快
  • 结果直接用df.to_excel("汇总_202506.xlsx", index=False)保存,连“另存为”都省了

自动发邮件别再复制粘贴正文

用smtplib + email模块,模板化发送通知或报表。关键不是“能发”,而是“发得准、不露馅”:

  • Jinja2写HTML邮件模板,变量像{{ name }} {{ amount }}一样填数据
  • 附件支持直接传入文件路径,PDF、Excel、图片都能附,不用手动点“添加”
  • 发前加个if df.empty: print("无新数据,跳过发送"),避免空邮件尴尬

文件夹清理和重命名真能每天省10分钟

下载目录堆满“新建文件夹(2)、报告_最终版_v3_改.xlsx”,用os和pathlib几行就搞定:

  • pathlib.Path("Downloads").rglob("*.xlsx")一键找全Excel,不管嵌套几层
  • 按创建时间排序,留最新3个,其余自动移到“归档”文件夹
  • 把文件名里的“(已审核)”“_FINAL”统一替换成“_审核通过”,正则re.sub(r"(.*?)|_FINAL", "_审核通过", name)

PDF内容提取别再手动抄录

不是所有PDF都能复制文字,但PyPDF2 + pdfplumber组合覆盖90%场景:

  • 普通PDF用PyPDF2.PdfReader提取文字+页码,适合合同、说明书
  • 扫描件或表格PDF用pdfplumber.open().pages[0].extract_table(),直接转成列表或DataFrame
  • 配合OCR(如pytesseract)可识别图片型PDF,但先判断是否必要——很多PDF右键就能复制

基本上就这些。不复杂但容易忽略:先挑一个你每周至少做3次的任务,写5行代码跑通它,比看十篇教程都管用。