使用Python獲取Word文檔關(guān)鍵信息
計算 Word 文檔的頁數(shù)、字數(shù)等信息是出版、學(xué)術(shù)和內(nèi)容管理等領(lǐng)域的一項基本任務(wù)。準確的頁數(shù)和字數(shù)對于評估文檔長度、估算印刷成本、分析文本復(fù)雜性以及確保符合格式化指南至關(guān)重要。逐個預(yù)覽文檔查看相關(guān)信息是非常麻煩的事情,我們可以在不預(yù)覽文檔的情況下,用Python實現(xiàn)快速批量地獲取文檔中的頁數(shù)、字數(shù)、段落數(shù)、節(jié)數(shù)、詞數(shù)等關(guān)鍵信息,實現(xiàn)文檔的高效管理,簡化相關(guān)任務(wù)流程。
本文所使用的方法需要用到Spire.Doc for Python,可從官網(wǎng)獲取通過PyPI:pip install Spire.Doc
。
獲取Word文檔頁數(shù)、字數(shù)、字符數(shù)、段落數(shù)以及帶空格的字符數(shù)
API中提供的 Document.BuiltinDocumentProperties 屬性可以獲取文檔中的一些內(nèi)置屬性,如頁數(shù)、詞數(shù)、字符數(shù)等信息。以下是操作步驟:
1.導(dǎo)入所需庫:spire.doc 和 spire.doc.common 用于處理 Word 文檔,os 用于操作系統(tǒng)文件及目錄操作。
2.定義待遍歷的文件夾路徑。
3.創(chuàng)建 Document 類的一個實例 doc,用于加載和操作 Word 文檔。
4.使用 os.walk() 遍歷指定文件夾及其子文件夾中的所有文件。
5.對于遍歷到的每個文件:
- 檢查文件擴展名是否為 .doc 或 .docx,若是則表示為 Word 文檔。
- 使用 os.path.join() 組合完整文件路徑,并使用 doc.LoadFromFile() 方法加載該 Word 文檔。
- 調(diào)用 doc.UpdateWordCount() 更新文檔的字數(shù)統(tǒng)計信息,確保統(tǒng)計數(shù)據(jù)準確。
- 獲取文檔的內(nèi)置屬性,存儲在 builtinProperties 變量中。
- 從內(nèi)置屬性中分別提取文檔的頁數(shù)(PageCount)、段落數(shù)(ParagraphCount)、字符數(shù)(CharCount)、包含空格的字符數(shù)(CharCountWithSpace)和字數(shù)(WordCount)。
- 將這些統(tǒng)計信息與對應(yīng)的文件名一起打印出來。
6.在遍歷并處理完所有 Word 文檔后,調(diào)用 doc.Close() 關(guān)閉文檔,釋放資源。
代碼示例
from spire.doc import * from spire.doc.common import * import os # 定義文件夾路徑 folderPath = "Documents" # 創(chuàng)建Document實例 doc = Document() # 遍歷文件夾中的文檔 for root, dirs, files in os.walk(folderPath): for file in files: # 判斷文件是否為Word文檔 if file.endswith(('.doc', '.docx')): # 載入Word文檔 doc.LoadFromFile(os.path.join(root, file)) # 更新字數(shù)統(tǒng)計(確保字數(shù)統(tǒng)計是最新的) doc.UpdateWordCount() # 獲取文檔內(nèi)置屬性 builtinProperties = doc.BuiltinDocumentProperties # 獲取頁數(shù) pageCount = builtinProperties.PageCount # 獲取段落數(shù) paragraphCount = builtinProperties.ParagraphCount # 獲取字符數(shù) charCount = builtinProperties.CharCount # 獲取包含空格的字符數(shù) charCountWithSpaces = builtinProperties.CharCountWithSpace # 獲取字數(shù) wordCount = builtinProperties.WordCount # 輸出結(jié)果 print(f"文檔——{file} 頁數(shù)為:", pageCount) print(f"文檔——{file} 段落數(shù)為:", paragraphCount) print(f"文檔——{file} 字符數(shù)為:", charCount) print(f"文檔——{file} 包含空格的字符數(shù)為:", charCountWithSpaces) print(f"文檔——{file} 字數(shù)為:", wordCount) doc.Close()
輸出結(jié)果
用Python計算Word文檔節(jié)的數(shù)量
節(jié)的計數(shù)不被統(tǒng)計在內(nèi)置屬性中,但我們可以直接使用 Document.Sections.Count 屬性計算節(jié)的數(shù)量。以下是操作步驟:
1.導(dǎo)入所需模塊:spire.doc 和 spire.doc.common 用于處理 Word 文檔,os 用于操作系統(tǒng)文件及目錄操作。
2.定義待遍歷的文件夾路徑。
3.創(chuàng)建 Document 類的實例 doc,用于加載和操作 Word 文檔。
4.使用 os.walk() 遍歷指定文件夾及其子文件夾中的所有文件。
5.對于遍歷到的每個文件:
- 檢查文件擴展名是否為 .doc 或 .docx,如果是,則表示為 Word 文檔。
- 使用 os.path.join() 組合得到文件的完整路徑,并使用 doc.LoadFromFile() 方法加載該 Word 文檔。
- 從文檔對象 doc 中獲取文檔中節(jié)(section)的數(shù)量,存儲在變量 sectionCount 中。
- 將文檔名和節(jié)的數(shù)量一同打印出來,展示文檔內(nèi)部的結(jié)構(gòu)信息。
6.在遍歷并處理完所有匹配的 Word 文檔后,調(diào)用 doc.Close() 方法關(guān)閉文檔,釋放資源。
代碼示例
from spire.doc import * from spire.doc.common import * import os # 定義文件夾路徑 folderPath = "Documents" # 創(chuàng)建Document實例 doc = Document() # 遍歷文件夾中的文件 for root, dirs, files in os.walk(folderPath): for file in files: # 判斷文件是否為Word文檔 if file.endswith(('.doc', '.docx')): # 載入Word文檔 doc.LoadFromFile(os.path.join(root, file)) # 獲取文檔中節(jié)的數(shù)量 sectionCount = doc.Sections.Count # 輸出結(jié)果 print(f"文檔——", file, " 節(jié)數(shù)為:", sectionCount) doc.Close()
輸出結(jié)果
到此這篇關(guān)于使用Python獲取Word文檔關(guān)鍵信息的文章就介紹到這了,更多相關(guān)Python獲取Word信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python調(diào)用Prometheus監(jiān)控數(shù)據(jù)并計算
Prometheus是一套開源監(jiān)控系統(tǒng)和告警為一體,由go語言(golang)開發(fā),是監(jiān)控+報警+時間序列數(shù)據(jù)庫的組合。本文將介紹Python如何調(diào)用Prometheus實現(xiàn)數(shù)據(jù)的監(jiān)控與計算,需要的可以參考一下2021-12-12opencv-python圖像配準(匹配和疊加)的實現(xiàn)
圖像配準需是指對不同條件下得到的兩幅或多幅圖像進行匹配、疊加的過程。本文詳細的介紹了如何使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06Python?CNN卷積神經(jīng)網(wǎng)絡(luò)實戰(zhàn)教程深入講解
CNN,即卷積神經(jīng)網(wǎng)絡(luò),主要用于圖像識別,分類。由輸入層,卷積層,池化層,全連接層(Affline層),Softmax層疊加而成。卷積神經(jīng)網(wǎng)絡(luò)中還有一個非常重要的結(jié)構(gòu):過濾器,它作用于層與層之間(卷積層與池化層),決定了怎樣對數(shù)據(jù)進行卷積和池化2022-12-12利用Python腳本實現(xiàn)ping百度和google的方法
最近在做SEO的時候,為了讓發(fā)的外鏈能夠快速的收錄,想到了利用ping的功能,google和百度都有相關(guān)的ping介紹,有興趣的朋友可以去看看相關(guān)的知識。下面這篇文章主要介紹了利用Python腳本實現(xiàn)ping百度和google的方法,需要的朋友可以參考借鑒,一起來看看吧。2017-01-01