Python可批量处理Excel、转PDF、生成Word报告及管理多格式文件:用pandas合并筛选数据,openpyxl美化格式;win32com或weasyprint静默转PDF;python-docx填充模板并插图;os/shutil/pathlib实现智能归类、重命名与ZIP打包。

用Python批量处理Excel:告别手动复制粘贴
Excel是办公中最常遇到的文件类型,但重复操作如合并多表、提取特定列、统一格式,特别耗时。Python的pandas和openpyxl能高效解决这些问题。
- 用pandas.read_excel()读取多个Excel文件,pd.concat()一键合并所有工作表
- 用df.loc[]或df.query()筛选数据(例如只保留“部门=销售”的行)
- 用openpyxl调整列宽、设置字体、添加边框——适合导出前的格式美化
- 保存时用to_excel(..., index=False)避免多余索引列,提升可读性
自动将Excel转PDF:无需打开Excel软件
很多单位要求报表以PDF归档,但手动另存为太慢。Python可通过win32com.client(Windows)或weasyprint + html(跨平台)实现静默转换。
- Windows用户安装pywin32后,调用Excel COM接口,后台启动Excel进程完成另存为PDF
- 跨平台方案:先用pandas把DataFrame转成HTML表格,再用weasyprint渲染为PDF(需提前安装weasyprint及系统依赖)
- 注意:COM方式依赖本地安装Microsoft Excel;HTML+WeasyPrint更轻量,但复杂样式支持有限
批量生成Word报告:模板填充+动态内容插入
会议纪要、周报、合同等文档结构固定,内容局部变化——正是python-docx的强项。
- 准备一个含占位符的Word模板(如“【客户名称】”、“【日期】”),用Document加载后遍历段落/表格查找替换
- 支持插入图表:先用matplotlib画图并保存为PNG,再用doc.add_picture()嵌入
- 批量生成时,结合pandas读取数据源,循环生成每个客户的独立报告,并按规则命名(如“客户A_2024Q2报告.docx”)
统一管理多格式文件:自动分类+重命名+打包
项目收尾常需整理几十个Excel、PDF、Word文件,人工归类易出错。用os、shutil和pathlib可构建智能文件管家。
立即学习“Python免费学习笔记(深入)”;
- 用Path.glob("*.xlsx")快速获取指定目录下所有Excel文件
- 根据文件名关键词(如“_发票”、“_合同”)自动移动到对应子文件夹
- 用datetime.now().strftime("%Y%m%d")生成时间戳,重命名文件避免覆盖
- 最后用shutil.make_archive()打包成ZIP,自动附上当前日期










