关注我,学习更多实用Python知识
🌈Hi,小伙伴们~
🛠️面对下面的场景,你将怎么处理如:
📄 需汇总多份周报中的重点项目进度
📇 从大量简历中提取姓名、电话、邮箱
💰 要收集多份合同中的金额和签约日期
🏆 整理多份调研文档中的结论和建议
🛠️继续Python自动化办公:代码代替人工手动查找-复制-粘贴
🎯今天,以 「一键批量提取多个Word文档关键信息」为例,通过自动化让信息整理效率翻倍!

✅ ①自动扫描:遍历指定文件夹下的所有Word文档
✅ ②智能识别:根据关键词定位需要提取的内容
✅ ③结构化输出:将提取的信息整理成表格
✅ ④自动汇总:生成Excel汇总报告
待提取的信息样式如下:
👤 汇报人 :如 张三
📊 本周进度:如【进度】80%
⚠️ 存在问题:如【风险】...【建议】...
📅 下周计划 :如 需完成测试...
📁 项目文档/ → 📄 信息汇总表.xlsx├── 文档1:周报-小王.docx ├── 文档2:周报-小李.docx ├── 姓名 | 本周进度 | 存在问题 | 下周计划└── 文档3:周报-小张.docx └── 小王 | 90% | 无 | 测试上线
打开终端,输入以下命令
pip install python-docx openpyxl✅ python-docx库:操作Word文档,读取内容
✅ openpyxl库:创建编辑Excel文件,生成汇总报告
核心代码:从Word文档中提取关键信息
defextract_info_from_docx(docx_path, keywords): doc = Document(docx_path) extracted_data = {"文件名": os.path.basename(docx_path)}# 合并所有段落文本 full_text = "\n".join([p.text for p in doc.paragraphs])# 根据关键词正则匹配for key, pattern in keywords.items(): match = re.search(pattern, full_text) extracted_data[key] = match.group(1) if match else"未找到"return extracted_data核心代码:定义提取规则
def batch_extract_to_excel(): keywords = {"汇报人": r"汇报人[::]\s*([^\n]+)","本周进度": r"【进度】\s*([^\n]+)","存在问题": r"(?:问题|风险)[::]\s*([^\n]+)","下周计划": r"下周计划[::]\s*([^\n]+)" }# 创建Excel wb = Workbook() ws = wb.active ws.title = "信息汇总" headers = ["文件名"] + list(keywords.keys()) + ["原文路径"] ws.append(headers)# 遍历处理所有Word文档for filename in os.listdir("项目文档"):if not filename.endswith(".docx"):continue file_path = os.path.join("项目文档", filename)print(f"正在处理: {filename}")# 提取信息并写入Excel data = extract_info_from_docx(file_path, keywords) data["原文路径"] = os.path.abspath(file_path) ws.append([data.get(h, "") for h in headers])# 保存结果 wb.save("文档信息汇总表.xlsx")# 执行批量提取batch_extract_to_excel()
🧩传统方式:阅读1份文档并摘录关键信息 ≈ 3分钟
🧩使用脚本:自动提取50份文档的关键信息 ≈ 20秒
效率提升的同时准确率100%,不用担心漏看错看
💡 关注我,每周分享 Python 干货 × 技巧
📌 如果这篇文章对你有帮助,欢迎:
👍 点赞 | ⭐ 收藏 | 🔄 分享给朋友
💬 如需源码:关注+评论区回复"批量提取word信息"
即可获取完整脚本 + 示例模板!


👇点击阅读往期文章