没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-08-12 14:08:49.623|阅读 7 次
概述:本文将带你一步步掌握如何用 Python 高效准确地完成词频统计,帮助你从 Word 文件中快速提取有价值的信息,省去手动查找的麻烦。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
你是否正为如何统计 Word 文档中的词频而苦恼?别担心,无论是为了提取关键词、分析内容结构,还是构建自动化文档工具,Python 都能轻松帮你搞定。你不仅可以统计某个词在整个文档中的总出现次数,还能精确到每一章甚至每一段。本文将带你一步步掌握如何用 Python 高效准确地完成词频统计,帮助你从 Word 文件中快速提取有价值的信息,省去手动查找的麻烦。
在本教程中,我们将使用 Spire.Doc for Python —— 一款功能强大且易于上手的 Python Word 文档处理库。它支持读取、编辑和分析 DOCX 文件的多种功能,而且不依赖于 Microsoft Office 环境。
获取更多信息请咨询慧都在线客服 ;技术交流Q群(125237868)
你可以通过 pip 安装它:
pip install spire.doc
或下载 Spire.Doc 安装包,进行自定义安装。
首先我们来看一个最常见的需求:统计某个词或短语在整个 Word 文档中的出现频率。比如你正在审阅一份 50 页的合同文档,想知道“合同”这个词出现了多少次。
使用 Spire.Doc for Python 提供的 FindAllString() 方法,你可以快速扫描整份文档,并准确获取关键词的出现次数,只需几行代码就能搞定。
统计词频的基本步骤如下:
下面的代码展示了如何统计关键词 "AI绘画" 在整个 Word 文档中出现的次数:
from spire.doc import * from spire.doc.common import * # 创建一个 Document 对象 document = Document() # 加载 Word 文档 document.LoadFromFile("/input/AI绘画的利弊及法律应对.docx") # 设置需要查找的关键词 keyword = "AI绘画" # 查找所有的匹配项(False:区分大小写,True:全文搜索) textSelections = document.FindAllString(keyword, False, True) # 计算出匹配项的个数 count = len(textSelections) # 打印结果 print(f'"{keyword}" 在文章中出现了 {count} 次。') document.Close()
下方是使用该段代码查找 Word 文档中关键词出现频率的结果预览:
Word 文档通常被划分为多个节(Section),每个节可以包含自己的段落、表格和其他内容。有时候,你可能并不只想统计整个文档中关键词出现的总次数,还想着知道它在每个节中分别出现了多少次。
为了实现这一点,我们可以遍历文档中的所有节,并在每个节内部查找目标关键词。下面我们就来看一下如何使用 Python 来实现按节统计词频。
实现步骤如下:
下面的示例代码演示了如何统计关键词 "AI绘画" 在 Word 文档每个节中的出现次数:
import re from spire.doc import * from spire.doc.common import * # 创建一个 Document 对象并加载 Word 文件 document = Document() document.LoadFromFile("/input/AI绘画的利弊及法律应对.docx") # 指定要查找的关键词 keyword = "AI绘画" # 关键词出现的总次数 total_count = 0 # 获取所有节(Section) sections = document.Sections # 遍历每一节 for i in range(sections.Count): section = sections.get_Item(i) paragraphs = section.Paragraphs section_count = 0 print(f"\n=== 第 {i + 1} 节 ===") # 遍历该节中的每个段落 for j in range(paragraphs.Count): paragraph = paragraphs.get_Item(j) text = paragraph.Text # 使用正则表达式查找所有匹配项 count = len(re.findall(re.escape(keyword), text, flags=re.IGNORECASE)) section_count += count total_count += count print(f'第 {i + 1} 节中共出现:{section_count} 次') print(f'\n=== 所有节中总共出现:{total_count} 次 ===') document.Close()
下方图片展示了使用 Python 按节统计关键词出现频率的结果:
在进行敏感词检测或内容审查等任务时,往往需要更细致的词频分析。这一节我们就来看看如何按段落统计 Word 文档中某个关键词的出现频率,帮助你更深入了解特定文本在文档中的分布情况。
按段落统计关键词出现频率的步骤如下:
下面的代码演示了如何统计关键词 "AI绘画" 在 Word 文档各段落中的出现频率:
import re from spire.doc import * from spire.doc.common import * # 创建一个 Document 对象 document = Document() # 加载 Word 文档 document.LoadFromFile("/input/AI绘画的利弊及法律应对.docx") # 自定义要查找的关键词 keyword = "AI绘画" # 初始化变量 total_count = 0 paragraph_index = 1 # 遍历每一节和其中的段落 sections = document.Sections for i in range(sections.Count): section = sections.get_Item(i) paragraphs = section.Paragraphs for j in range(paragraphs.Count): paragraph = paragraphs.get_Item(j) text = paragraph.Text # 忽略大小写查找关键词的所有出现次数 count = len(re.findall(re.escape(keyword), text, flags=re.IGNORECASE)) # 如果找到关键词,则输出结果 if count > 0: print(f'第 {paragraph_index} 段:"{keyword}" 出现了 {count} 次') total_count += count paragraph_index += 1 # 输出总共出现的次数 print(f'\n所有段落中总共出现:{total_count} 次') document.Close()
下方为按段落统计关键词出现频率的结果预览:
本文介绍了如何使用 Python 按全文、按节、按段落统计 Word 文档中关键词的出现频率。无论你是在处理长篇报告、筛查敏感词,还是开发智能文档工具,通过 Spire.Doc for Python 实现自动化操作,既高效又准确。
Q1:如何统计某个词在 Word 文档中出现了多少次?
你可以使用 Word 自带的查找功能手动统计,也可以使用 Python 搭配 Spire.Doc 等库进行自动统计。后者可以更灵活地处理整个文档,或者只针对特定节或段落进行分析。
Q2:可以分析多个 Word 文件中的词频吗?
当然可以。你可以在 Python 中编写循环,批量加载多个 Word 文档,并对每个文件应用相同的词频统计逻辑。这种方式特别适合用于批量文档处理或内容审计场景。
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询慧都在线客服 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网本文将带你一步步掌握如何用 Python 高效准确地完成词频统计,帮助你从 Word 文件中快速提取有价值的信息,省去手动查找的麻烦。
3MF和STL都是 3D 建模软件广泛使用的 3D 文件格式。在某些情况下,由于行业标准要求和兼容性,STL 文件格式更受青睐。本教程将演示借助Aspose.3D for .NET,使用 C# 以编程方式将 3MF 转换为 STL 。
本教程主要为大家介绍DevExpress WinForms数据网格控件中的列过滤器功能,欢迎下载最新版组件体验!
如果您的PDF太大,无法通过电子邮件发送,或者在线加载时间过长,您可以在几秒钟内缩小 PDF 大小。本教程介绍了借助Aspose.PDF使用 C#、Java 和 Python 编程快速缩小PDF的方法。
Spire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。
Spire.Doc for JavaSpire.Doc for Java是Java Word组件,具有生成、读取、转换Word文档等功能
Spire.Doc for PythonSpire.Doc for Python是专为开发人员设计的专业 Word Python API
Spire.Office for PythonSpire.Office for Python 是用于办公文档处理的专业 Python API
Aspose.Words无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号