Python 實現docx文件的讀寫操作

我們在做一些數據統計或分析的時候,有時會接觸到Execl

格式或者Word 格式的文件。Execl格式的數據提取和解析,我們在之前的文章分享過一些非常好用的Python第三方庫,本文中主要介紹如何使用Python python-docx 模塊提取Word 文件中的文本信息和表格數據。


python-docx 安裝

本文python-docx 安裝 在Windows 10系統,Python3 環境中使用pip進行安裝。

Python 實現docx文件的讀寫操作

Python 實現docx文件的讀寫操作

演示文本

為了方便理解,我們以 python-docx.docx 文件為例,演示如何使用Python 提取其中的文本數據表格數據,並開發自定義函數以字典的形式提取內容,python-docx.docx文件內容如下:

Python 實現docx文件的讀寫操作

在使用python-docx 讀取word文檔中文本之前,我們先了解下python-docx 模塊的幾個概念。

  • Document 對象,表示一個Word文檔。
  • Paragraph 對象,表示Word文檔中的一個段落。
  • Paragraph 對象的text屬性,表示段落中的文本內容。

提取docx文件中文本信息

使用python-docx 提取docx文件中文本數據,Python實現代碼如下:

Python 實現docx文件的讀寫操作

如上,我們將python-docx.docx 文件中的文本信息,按行提取出來,存儲到字典中,字典的Key為行號,Value為文本信息,執行上述代碼,輸出結果如下:

Python 實現docx文件的讀寫操作


提取docx文件中表格數據

使用python-docx 提取docx文件中表格數據,Python實現代碼如下:

Python 實現docx文件的讀寫操作

如上,我們將python-docx.docx 文件中的表單信息,按行提取出來,存儲到列表中,列表每個元素為一個表格的數據,數據結構為字典,執行上述代碼輸出結果如下:

Python 實現docx文件的讀寫操作


寫入數據到docx文件中

我們同樣可以利用python-docx 模塊,實現docx文件的數據寫入,如標題、字號、引用、列表、圖片插入等等。由於如下代碼註釋中說明比較詳細,此處不做過多介紹,代碼如下:

Python 實現docx文件的讀寫操作

執行上述代碼,寫入數據保存至testops—docx.docx 文件中,內容如下:

Python 實現docx文件的讀寫操作


提取包含指定關鍵字的文本

我們基於上述自定義封裝函數 extract_textextract_form,結合re 模塊,就可以實現提取包含關鍵字的文本內容,代碼實現如下:

Python 實現docx文件的讀寫操作

如上,我們實現了提取docx 文本中包含指定內容的文本信息,並輸出該內容所在行,執行上述代碼,輸出結果為:

Python 實現docx文件的讀寫操作



分享到:


相關文章: