翻譯|使用教程|編輯:吉煒煒|2025-08-12 14:08:49.623|閱讀 76 次
概述:本文將帶你一步步掌握如何用 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@fc6vip.cn
文章轉載自:慧都網