小 demo:對德文資料進行文字分析
昨天做了一個德文資料的詞頻統計,發來的資料是word檔案,如下
für mich ging es bei einem foto mit präsident erdogan nicht um politik oder um wahlen, sondern darum, das höchste amt des landes meiner familie zu respektieren.“deutsche fußball-fans hatten özil und gündogan das erdogan-foto übel genommen
一開始我以為他發錯的資料有問題,不然怎麼會 亂碼
呢!後來才知道,資料檔案沒錯,德文的有些字元長得比較奇特。讓我對word的德文文件做詞頻統計,按照流程順序
-
讀取docx檔案的文字資料
-
對德文進行詞頻統計
-
輸出到csv或者xlsx
現在我們已經將任務分成了四個部分,每個部分如果有無法實現的地方,可以百度谷歌,最後將各部分拼接起來,這個任務就完成了。
下面我們開始做吧
讀取docx檔案
百度搜了一遍,發現有一個 docx
庫可以實現讀取,而且找到現成的程式碼可供使用。
docx庫的安裝方法
安裝好docx庫之後,我們定義了read_docx函式用來讀取docx檔案,返回文字內容
我們做一個下測試,試著讀取一下
Özil verteidigt seinErdogan-Foto.docx
file = 'Özil verteidigt sein Erdogan-Foto.docx'
te text = read_docx(file=
)
執行結果
對德文進行詞頻
我直接在github上搜索德文切詞庫找到 SoMaJo
庫,安裝方法
分詞的程式碼也找到了,直接定義為 segment函式
我們試試segment函式是否能正常執行
執行結果
輸出結果
將結果儲存到xlsx檔案中,第一列是詞語,第二列是詞頻。往常我們都是儲存到csv檔案中,但是發現用excel開啟csv時,德文真的亂碼了。那些奇怪的字元被更奇怪的亂碼替換了。我直接google搜
how toexportgermanintoexcelusingpython
得到下面的結果
搜尋結果的第一個結果裡找到我需要的程式碼。我這裡定義為to_xlsx函式
在這裡我們測試下 to_xlsx函式,看看能否輸出xlsx。
我們開啟 output.xlsx
檔案,如下圖
完美!
現在我們將上面的程式碼組裝起來
精選文章
使用Pandas、Jinja和WeasyPrint製作pdf報告
後臺回覆“20190218”,得到本文專案原始碼。
支援原創,記得手動點贊