Python批量处理办公文档需选对库、理清流程、避开坑:Word用python-docx(不支持.doc和页眉页脚),Excel用openpyxl(保格式)+pandas(数据分析),PDF用PyPDF2(合并加密)+pdfplumber(提取文字表格),最后打包exe加tkinter界面实现一键运行。

用Python批量处理办公文档,核心是选对库、理清流程、避开常见坑。不需要写复杂代码,掌握几个关键模块和固定套路,就能把重复操作变成一键完成。
读写Word:python-docx最实用
处理.docx文件首选python-docx,它不依赖Office软件,纯Python实现,安装快、上手简单。
- 安装命令:pip install python-docx
- 批量替换文本:遍历所有段落+表格单元格,用
.text.replace(),注意替换后要重新赋值给.text - 插入图片/标题/分页符:用
document.add_picture()、document.add_heading()、document.add_page_break() - ⚠️ 注意:不能直接修改.doc文件(旧格式),需先转为.docx;也不支持页眉页脚的复杂编辑(需用win32com,但跨平台性差)
处理Excel:openpyxl + pandas双保险
日常办公中,openpyxl适合改样式、合并单元格、读写.xlsx;pandas适合数据清洗、计算、批量生成报表。
- 只读数据+分析:用
pandas.read_excel()加载,处理完用.to_excel()保存 - 保留原格式(如颜色、边框):必须用
openpyxl打开,用workbook.active或指定sheet操作单元格 - 批量填入数据后自动调整列宽:循环列,用
ws.column_dimensions[col_letter].width = max_width - ⚠️ 注意:pandas默认不保留格式;openpyxl不能处理.xls;大文件(10万行以上)建议用pandas + chunksize分块
PDF批处理:PyPDF2 + pdfplumber分工明确
PDF不是“文档”而是“版面”,所以得按需求选工具:
立即学习“Python免费学习笔记(深入)”;
- PyPDF2:擅长合并、拆分、加水印、加密解密(适合行政类PDF操作)
- pdfplumber:擅长精准提取文字、表格(尤其扫描件OCR前需先转文本,但它本身不OCR,需配合paddleocr或pytesseract)
- 常见组合:用pdfplumber提取合同中的甲方名称→存入Excel→用openpyxl生成汇总表→用PyPDF2把所有合同合并成一个归档包
- ⚠️ 注意:纯图片PDF必须先OCR;中文提取记得设
pdfplumber.open(..., password=...)和编码参数
一键运行:打包成exe + 添加GUI更友好
给同事用,别只丢.py文件。两步让它真·一键:
- 打包exe:pip install pyinstaller → pyinstaller -F -w your_script.py(-w隐藏黑窗)
- 加简易界面:用tkinter做选择文件夹、点按钮就执行,50行内搞定(不用学Qt)
- 增强体验:执行时显示进度条(
tqdm库)、完成弹窗提示、错误写入log.txt避免报错闪退 - ⚠️ 注意:打包后路径问题——用
sys._MEIPASS定位资源文件;字体/模板文件要一并拷进dist目录
基本上就这些。不复杂,但容易忽略细节。真正落地的关键,不是写多炫的代码,而是先手动走一遍流程,把“哪几步总在重复”“哪些地方总要改数字/名字/日期”记下来,再让Python替你点鼠标、敲回车。










