别再一个个翻Word文档了!这几行Python代码,1秒钟搞定信息提取到Excel
- 2026-09-20 20:38:38
别再一个个翻Word文档了!这几行Python代码,1秒钟搞定信息提取到Excel你有没有遇到过这样的情形:临近下班,领导突然发给你一个文件夹,里面的几十个Word文档,让你把每个文件里的指定内容提取到Excel文件里? 然后你开始一天的“苦力活”:打开一个word文档——在密密麻麻的文字中找出指定内容——复制粘贴到Excel中——重复以上步骤五十遍…… 最近就遇到了这样的问题:要从一文件夹内的docx文档中提取包括时间、主办单位名称、指导单位名称等内容,连同文件名一同保存到Excel文档。文档样式如下: 
手动操作无法实现批量操作处理,文档越多,时间成本也会呈指数级增长。代码是解放双手的最好方案,下面是Python解决这个问题的完整代码: 运行后结果如下,文件名一列带有超链接功能,点击单元格可以直接打开超链接的文档: 
如何才能快速上手使用这个代码脚本? 如果你的电脑还没有安装Python,需要安装Python程序。 需要安装必要的模块:pip install python-docx openpyxl。 第8行代码ws.append(["文件名","时间","单位名称","指导单位名称"])用于在新建的工作表中添加标题行,可根据需求增加或删除。 第10行是Word文档所在的文件夹路径对象。 第11行out_path = in_path.joinpath("汇总表.xlsx")使用joinpath()方法把文件夹和工作簿名称合并为新的路径。 第13行date, dw_a, dw_b =None,None,None对应的内容为日期、单位名称、指导单位名称,可根据需求增加删除,一般情况下与第8行对应。 第20-25行是使用if判断和正则表达式来提取需要的内容,只有当前内容不为空且正则匹配成功时才进行提取,这样做更精准。r"\d{4}年\d{1,2}月\d{1,2}日"匹配日期,r"主办单位[::]\s*(.+)"匹配“主办单位”后的单位名称。r"在([^在,。;;]+?)(?:指导|领导|支持|帮助|协调|协助)下"匹配“在”后面的指导单位名称。 通过点击菜单栏或使用快捷键运行代码即可。 试试这个脚本吧,你会发现原来需要半天的工作,现在只需要几分钟就能完成,何乐而不为呢!

from pathlib import Pathfrom docx import Documentfrom openpyxl import Workbookimport rewb = Workbook()ws = wb.activews.append(["文件名","时间","单位名称","指导单位名称"])in_path = Path(r"D:\示例\指定word段落读取")out_path = in_path.joinpath("汇总表.xlsx")for file in in_path.glob("*.docx"):date, dw_a, dw_b = None, None, Nonename = f'=HYPERLINK("{file}","{file.stem}")'doc = Document(file)for para in doc.paragraphs:text = para.textif not text:continueif not date and (m_date:=re.search(r"\d{4}年\d{1,2}月\d{1,2}日",para.text)):date = m_date.group()if not dw_a and (m_a:=re.search(r"主办单位[::]\s*(.+)",para.text)):dw_a = m_a.group(1)if not dw_b and (m_b:=re.search(r"在([^在,。;;]+?)(?:指导|领导|支持|帮助|协调|协助)下",para.text)):dw_b = m_b.group(1)ws.append([name,date,dw_a,dw_b])wb.save(out_path)print(f"处理完成!文件已保存到: {out_path}")

第一步 前提条件
第二步 修改代码
1、修改列名:
2、修改路径:
3、新增或减少需要提取的内容的变量
4、运行正则表达式提取需要的内容
第三步 运行代码
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。