Python批处理自动化核心是将重复办公任务转化为规则明确的代码步骤,如批量重命名、Excel合并、定时发邮件、会议纪要待办提取,并需加入异常处理、日志记录和参数支持以提升可维护性。

用Python做批处理自动化,核心不是写多复杂的代码,而是把重复、机械、规则明确的办公任务“翻译”成Python能理解的步骤。企业里最常见的场景——比如批量重命名文件、合并Excel报表、自动发邮件、整理会议纪要——其实几行代码就能搞定。
批量重命名与文件归类
行政或财务同事常要处理上百个发票PDF,命名混乱(如“发票_20240501_张三.pdf”“发票-李四-0502.pdf”),需要统一为“20240501_张三_发票.pdf”。Python用os和re模块就能轻松提取日期、姓名等关键信息:
- 用os.listdir()遍历文件夹
- 用re.search()匹配原始文件名中的日期、人名等字段
- 按新格式拼接字符串,调用os.rename()重命名
- 可额外加判断:跳过已处理过的文件,或把不匹配的文件移到“待人工核查”子目录
多张Excel自动汇总成一张表
销售部每月收各区域提交的Excel报表(如“华东_4月.xlsx”“华北_4月.xlsx”),需合并到“202404_全国汇总.xlsx”中,且保留原表名作为工作表标签。用pandas + openpyxl两步到位:
- 用glob.glob("*.xlsx")获取所有源文件路径
- 循环读取每个Excel的首张表(pd.read_excel(file, sheet_name=0)),添加一列“来源区域”(从文件名提取)
- 用pd.concat()纵向合并所有数据,再用to_excel()输出,设置engine="openpyxl"支持多sheet写入
- 如果需保留原格式(如合并单元格、颜色),可改用openpyxl直接操作工作簿,但逻辑稍复杂
定时自动发送日报邮件
运营同学每天9点前要把昨日数据截图+简报发给管理层。用Python结合系统定时任务(Windows任务计划程序 / macOS/Linux的cron),就能全自动执行:
立即学习“Python免费学习笔记(深入)”;
- 用smtplib和email库构造带附件/HTML正文的邮件
- 关键细节:SMTP服务器地址、端口、是否启用TLS要配对(如QQ邮箱用smtp.qq.com:587 + starttls)
- 密码建议用App专用密码(非登录密码),或从环境变量读取:os.getenv("EMAIL_PASS")
- 配合datetime动态生成“昨日”日期,让日报标题和内容自动更新
从会议录音文字稿中提取待办事项
很多团队用语音转文字工具生成会议记录(TXT或Word),但待办项散落在段落中。用正则+关键词匹配,快速筛出“@张三”“请跟进”“下周前完成”等内容:
- 读取文本后,用re.findall(r"(@\w+)[^。]*?(?:完成|跟进|确认|提交)[^。]*?。", text)粗筛含责任人和动作的句子
- 再人工校验规则(比如排除“请张三确认上次会议纪要”这种历史动作)
- 结果导出为Excel或Markdown,直接发群或同步到项目管理工具(可用requests调用飞书/钉钉API)
基本上就这些。不复杂但容易忽略的是:加异常处理(比如文件打不开、网络超时)、加日志记录(用logging模块记下每次运行是否成功)、给脚本加简单参数(如python report.py --month 04),后续维护和交接就顺畅得多。










