Python用os和shutil可批量重命名、移动文件;pandas与openpyxl协同处理Excel读写与样式;多源表格合并需统一列名、清洗空值;结合定时任务与异常通知实现自动化闭环。

批量重命名与移动文件,用os和shutil就够了
处理几十上百个文件时,手动操作既费时又容易出错。Python的os和shutil模块就能轻松搞定重命名、分类移动、创建目录等任务。
- 用os.listdir()或glob.glob("*.xlsx")快速获取指定类型文件列表
- 用os.path.join()拼接路径,避免Windows/Linux路径斜杠问题
- 用shutil.move(src, dst)把合同类Excel移到“已归档”文件夹,支持跨盘操作
- 重命名时注意检查目标文件是否已存在,加if not os.path.exists(dst): shutil.move(...)防覆盖
读写Excel不用打开Excel软件,openpyxl和pandas各司其职
openpyxl适合精细控制单元格样式、公式、合并单元格;pandas更适合清洗、计算、批量修改数据——两者配合最高效。
- 用pandas.read_excel("汇总.xlsx", sheet_name=0, header=1)跳过表头说明行,直接读取数据区
- 处理完用df.to_excel("结果.xlsx", index=False)导出,不带行号更干净
- 需要加粗标题行或设置列宽?切换到openpyxl:用wb = load_workbook("结果.xlsx")加载后操作
- 批量生成多个子表(如按部门拆分):用groupby分组 + ExcelWriter写入不同sheet
自动合并N个表格,关键在统一结构和处理空值
从销售、人事、财务各自发来的Excel,字段顺序不同、空行多、表头不一致?别急着复制粘贴。
- 先用pd.concat([df1, df2, df3], ignore_index=True)纵向堆叠,但前提是列名要对齐
- 读取时统一用usecols指定关键列,比如usecols=["姓名", "部门", "金额"],忽略无关列
- 空值不是错误,是信号:用df.dropna(subset=["姓名"])删掉关键信息缺失的整行
- 合并后按“部门”分组求和,一行代码:df.groupby("部门")["金额"].sum().reset_index()
定时执行+出错提醒,让脚本真正“自动”起来
写完脚本只是第一步,让它每天早上8点跑一次,并在失败时微信/邮件通知你,才算闭环。
立即学习“Python免费学习笔记(深入)”;
- Windows用任务计划程序,触发器选“每天”,操作中启动python D:\auto\report.py
- Mac/Linux用crontab -e,加一行:0 8 * * * /usr/bin/python3 /Users/me/auto/report.py
- 加try...except Exception as e:捕获异常,再用smtplib发邮件,内容包含str(e)便于排查
- 运行成功后写日志:with open("run.log", "a") as f: f.write(f"{datetime.now()} 成功\n")
以上就是Python自动化办公实战_批量文件处理与表格操作【教程】的详细内容,更多请关注php中文网其它相关文章!