1. 程式人生 > >python如何處理解析word文件doc docx , python-docx,python-docx2txt,zipfile

python如何處理解析word文件doc docx , python-docx,python-docx2txt,zipfile

關於python如何處理word文件doc docx,可以關注 python-docx 和 python-docx2txt 兩個專案,python-docx複雜一些,適合建立文件,python-docx2txt可以方便將文件轉換成txt:

https://python-docx.readthedocs.org/en/latest/

https://github.com/python-openxml/python-docx

另外doc檔案本身是個壓縮檔案,實際文件內容是xml結構的,可使用unzip解壓:

# unzip test.docx
Archive:  test.docx
  inflating: _rels/.rels             
  inflating: word/settings.xml       
  inflating: word/_rels/document.xml.rels  
  inflating: word/fontTable.xml      
  inflating: word/styles.xml         
  inflating: word/document.xml       
  inflating: docProps/app.xml        
  inflating: docProps/core.xml       
  inflating: [Content_Types].xml     
# ls
[Content_Types].xml  docProps  _rels  test.docx  word

# ls
document.xml  fontTable.xml  _rels  settings.xml  styles.xml

# cat document.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"><w:body><w:p><w:pPr><w:pStyle w:val="Heading2"/><w:spacing w:lineRule="auto" w:line="240" w:before="0" w:after="0"/><w:rPr></w:rPr></w:pPr><w:r><w:rPr></w:rPr></w:r></w:p><w:p><w:pPr><w:pStyle w:val="Heading5"/><w:spacing w:lineRule="auto" w:line="240"/><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman"/><w:b w:val="false"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman"/><w:b w:val="false"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:t>Summary:02</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman"/><w:b w:val="false"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:t>系統基本功能</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman"/><w:b w:val="false"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:t>-01</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman"/><w:b w:val="false"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:t>系統核心功能</w:t></w:r><w:r>

不使用現成庫可以使用zipfile直接解壓:

import zipfile

document = zipfile.ZipFile('test.docx')
xml_content = document.read('word/document.xml')
reparsed = minidom.parseString(xml_content)
print reparsed.toprettyxml(indent="   " , encoding="utf-8")


相關推薦

python如何處理解析worddoc docx , python-docxpython-docx2txtzipfile

關於python如何處理word文件doc docx,可以關注 python-docx 和 python-docx2txt 兩個專案,python-docx複雜一些,適合建立文件,python-docx2txt可以方便將文件轉換成txt: https://python-do

C#儀器數據解析-Worddocdocx

new read ffi 數據文件 word 不同 軟件 情況下 如果 不少儀器數據報告輸出為Word格式文件,同Excel文件,Word文件doc和docx的存儲格式是不同的,相應的解析Word文件的方式也類似,主要有以下方式: 1.通過MS Word應用程序的DCOM

python解析word首、尾頁

1.docx 不能解析.doc文件,只能解析.docx文件 2.如何將doc轉換為docx (window 裡有開啟後另存為) 3.docx文件有沒有page的概念?如何使用分頁符?如何取得第一頁和最後一頁 1.如何使doc文件,將其轉換為docx文件   &n

python批量修改word

mat graph 操作 erro 利好 chan 都沒有 list 無法 最近不小心把硬盤給格式化了,由於當時的文件沒有備份,所以一下所有的文件都沒有了,於是只能采取補救措施,用文件恢復軟件恢復了一部分的數據出來,但是恢復完畢的文件的文件名全丟了,所有的文件只有代號,如下

php解析word

一個簡單的word文件閱讀類,使用正則實現簡單的docx文件閱讀,下面是程式碼 <?php class Lib { /** * @param $file docx檔案路徑 * @return string 生成的html字串 * ---讀取docx文件轉

如何解析word中的公式內容

問題:這裡講的就是如何對解析後的excel進行資料的處理,此處對公式的處理 如圖, 所以此處在後臺解析出來的是公式,後臺程式碼需要進行處理: import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.s

小夥發現了Python中編寫word的庫編輯文字方便多了

新的一年,小編又和大家見面啦。十分開心又和大家分享乾貨了~ Word文件相信廣大的辦公室家族並不陌生吧?今天咱們聊聊Python中一個可以用來讀寫word文件的Python庫,編輯文件分分鐘的事情哦~   學習Python中有不明白推薦加入交流裙    &nb

golang 解析word

baliance/gooxml gooxml是可以對整個office document提供支援的golang庫,功能很強大,這裡簡單給出對word文件的讀取案例 安裝 go get bali

python寫批量word

利用python-docx模組,寫批量生日邀請函 有關python-docx的使用方法,可以參考官方的API文件。這裡使用了其中的一些基本功能,來完成一個簡單的任務:為參加聚會的好友,每人寫一個wor

word.doc可能包含與純文字格式不相容的問題

在編輯完word文件後儲存的時候總是出現如下的對話方塊: 單擊右鍵新建word文件.doc,儲存時提示可能包含與純文字格式不相容的功能。是否將文件儲存為這種格式? 出現這種問題,估計是右鍵新建word文件的模板被改了,改成了txt的模板了。 在這個目錄C:\WIND

php在linux上解析word

最近簡單試了一下這個問題,記下流程: 1.在linux上安裝antiword(網上安裝方法很多,搜尋一個即可). 2.在php上解析一個word檔案為text串,這個串是多行的串,即包含很多換行符. $filename = '/home/den/ttt.doc'; $con

Word方框中輸入“√”、“×”的簡單方法絕對讓你相見恨晚!

在編輯Word文件時有一些小白就像小編才開始的時候用拼音打出“√”、“×”,這樣不僅顯的沒技術含量而且如果遇到在方框中輸入“√”、“×”,就徹底沒辦法了,但是不要害怕,小編今天就交大家一個非常有技術含量的方法,一起來看看吧。 1.ALT+數字鍵 按住alt鍵不放,然後輸入數字9745就會出

Python:讀取 .doc、.docx 兩種 Word 簡述及“Word 未能引發事件”錯誤

bug itext als htm 單獨 borde b+ compile http Python 中可以讀取 word 文件的庫有 python-docx 和 pywin32。 優點 缺點 python-docx 跨平臺 只能處理 .docx 格式,不能處理

python十三章處理PDF和Word

PDF文件 PDF: protable Document Format 行動式文字格式 用於處理PDF的模組是PyPDF2 該模組只能從檔案中提取文字,並將文字返回為Python字串,不能提取影象,圖表或者其他媒體。 import PyPDF2 import os current_pa

python解析html提取資料並生成word

今天試著用ptyhon做了一個抓取網頁內容,並生成word文件的功能,功能很簡單,做一下記錄以備以後用到。 生成word用到了第三方元件python-docx,所以先進行第三方元件的安裝。由於windows下安裝的python預設不帶setuptools這個模組,所以要先安

python-docx操作word(*.docx

tin comment turn spl end nta document .sh font 目錄 基礎操作 對象關系 添加樣式 中文字體微軟雅黑,西文字體Times Ne

處理】xml SAX解析

student 內容 訪問 sets display xtend style hide news SAX的全稱是Simple APIs for XML,也即XML簡單應用程序接口。 與DOM不同,SAX提供的訪問模式是一種順序模式,這是一種快速讀寫XML數據的方式。 當使用

python處理---計算fasta中不同氨基酸的數目

ros family pos port line import 文本 不同 split #::!/usr/bin/python3 #-*- coding:utf-8 -*- #計算fasta文件中各個氨基酸的含量 import sys args=sys.argv f=

python第三周處理和函數

-s 參數表 bsp 文件處理 調用 不可變類 font 兩個 可變 #默認參數的值是在一開始定義的時候就傳給了函數, # 在後來的修改中不會被修改. #默認參數的值必須放到位置形參參數的最後面 #默認參數使用的場景是一個參數不經常變得場景,所以參數一般是不可變類型.字

遍歷win10夾並解析json按照json格式存入mongo數據庫(基於python 3.6)

dep IT os.path efault gpo dir ren ica not import reimport jsonfrom pymongo import MongoClientimport os# def Write_json(data):# open_J