教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht


引言

眾所周知,python最強大的地方在於,python社區彙總擁有豐富的第三方庫,開源的特性,使得有越來越多的技術開發者來完善。今天我要分享的是:如何來獲取各個文件格式的文本信息

一、Python處理html網頁信息

html類型的文本數據,內容是由前端代碼書寫的標籤+文本數據的格式,可以直接在chrome瀏覽器打開,清楚 的展示出文本的格式。

python 獲取html文件的內容和獲取txt文件的方法相同,直接打開文件讀取就可以了。

讀取代碼如下:


教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

file 是html文件的文本內容。是一個網頁標籤的格式內容。

二、Python處理excel表格信息

python擁有直接操作excel表格的第三方庫xlwt,xlrd。調用對應的方法就可以讀寫excel表格數據。

讀取excel操作代碼如下:


教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

其中row是表格數據對應的行數, cell獲取具體行數,列數的具體數據。

三、Python讀取doc文檔數據

python讀取doc文檔是最麻煩的。處理邏輯複雜。處理的方式也有很多種。

python 沒有直接處理doc文檔的第三方庫,但是有一個處理docx的第三方庫。可以通過將doc文件轉換為docx文件,再調用第三方python庫pydocx來讀取doc文檔的內容。

這裡需要注意的是,不要直接修改doc的後綴來修改成docx文件。直接通過修改後綴獲取的docx文件,pydocx無法讀取內容。

我們可以使用另外一個庫來修改doc為docx。

具體代碼如下:

教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

代碼所需的包接口:

教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

python處理docx文檔的方法有很多種,具體使用情況,根據個人需求來決定。

No.1 解壓docx文件

docx文件的原理,本質上就是一個壓縮的zip文件,通過解壓以後,就可以獲取原來文件的各個內容。

docx解壓後的文件結構如下:

教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

docx文件的文本內容存儲結構如下:

文本內容存儲於word/document.xml文件中。

教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

第一種方法,我們就可以先將docx還原成zip壓縮文件,再解壓zip文件,讀取word/document.xml文件的內容就ok了。

具體操作代碼如下:


教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

最後獲取到的就是docx文檔的所有文本數據了。

No.2 將docx文檔轉換成python能夠處理的文本格式

第一種方法,是依據docx文檔的原理來獲取數據,流程有點繁瑣,有沒有能直接讀取docx文檔內容的方法呢?答案,肯定是沒有的,別想了,洗洗回家睡吧。

直接讀取docx文檔的方法沒有,有沒有能夠將docx文檔轉換成python能夠輕鬆處理的文本格式呢?

這個可以有,前面說了,python擁有大量豐富的第三方庫(先誇一波我大python),歷經千辛萬苦終於找到了,一個能轉換docx文檔格式的第三方庫,pydocx,pydocx庫中有個方法pydocx.to_html()就可以直接將docx文檔轉換為html文件,怎麼樣?意不意外,驚喜不驚喜!

第二種方法,轉換文本格式的代碼如下:


教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

獲取到的response是html文件內容。

四、Python處理mht文件

mht文件是一種只能在IE瀏覽器上展示的文本格式,在chrome瀏覽器中打開是一堆的亂碼。

No.1 偽造IE請求mht文件內容

最基礎的讀取mht文本的方法就是偽造IE瀏覽器請求。

調用requests庫,發送get請求網頁鏈接,構造IE的請求頭信息。

理論上來說,這種方法是可行的。但是呢,不建議用,原因大家都懂得。

教你用Python 獲取4類文件格式的文本信息:doc,excel,html,mht

No.2 轉換文件格式

mht文件能否修改成其他文件格式來直接讀取呢?

docx,不行;html,不行;excel,更不用說了。

直接修改後綴得到的docx,無法讀取。

所以,我們想到的方法是什麼呢。沒錯,就是修改成doc文檔。

mht可以直接通過修改後綴轉換成doc文檔,doc文檔讀取文本內容的方法具體參考上面讀取doc文檔的方法。

如何獲取html文本的內容?

html文本的內容是網頁結構標籤數據,取出文本的方式是:re正則,或者xpath。

後續,小夥伴有需要的話,會再開一章詳細瞭解re,xapth的使用規則。

結尾

最後多說一句,很多人學Python過程中會遇到各種煩惱問題,沒有人解答容易放棄。小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,並在後臺私信小編:“01”即可領取.


分享到:


相關文章: