Python讀寫(xiě)word文檔有現(xiàn)成的庫(kù)可以處理。我這里采用 python-docx??梢杂胮ip install python-docx安裝一下。
這里說(shuō)一句,ppt和excel也有類(lèi)似的庫(kù)哦,而且是直接讀取文件里面的xml數(shù)據(jù)。所以doc格式得另找其他庫(kù)處理,doc格式不是基于xml的。
1、新建或打開(kāi)文件。這個(gè)比較簡(jiǎn)單用docx的Document類(lèi),若指定路徑則是打開(kāi)文檔;若沒(méi)有指定路徑則是新建文檔
2、保存文件。有打開(kāi),就有保存。用Document類(lèi)的save方法,其中參數(shù)是保存的文件路徑,或者要保存的文件流。一般指定路徑即可。
doc.save(path_or_stream)
3、對(duì)象集合。python-docx包含了word文檔的相關(guān)對(duì)象集合。
4、插入段落。段落是word最基本的對(duì)象之一。
5、新增樣式。這個(gè)幫助文檔里面說(shuō)得不仔細(xì),而且還是英文的。我手頭上的項(xiàng)目用到這個(gè),就自己琢磨出怎么使用,如下。
6、應(yīng)用字符樣式。字符自然是在段落里面的,可以采用下面方法給段落追加文字和設(shè)置字符樣式。
7、設(shè)置字體。當(dāng)然可以不用通過(guò)設(shè)置樣式對(duì)某些字進(jìn)行設(shè)置,也可以直接設(shè)置。
8、表格操作。表格也是經(jīng)常用到的一種對(duì)象類(lèi)型。
Word常見(jiàn)操作差不多就是這些。大家可以查看幫助文檔,也可以用dir和help查看對(duì)象的方法屬性和幫助。
下面的例子可以運(yùn)行于任何平臺(tái)(PC、Mac、樹(shù)莓派……)。但是,如果想看到產(chǎn)生的文檔,你還是需要一個(gè)能打開(kāi)Office文檔的應(yīng)用。沒(méi)有安裝微軟Office的話(huà),其他替代軟件比如AbiWord、OpenOffice、WPS之類(lèi)的都可以。
首先安裝python-docx這個(gè)Python庫(kù)
$ pip install python-docx -U
(注意,在PyPi里還有一個(gè)叫docx的庫(kù),已經(jīng)停止更新,不建議使用)
這個(gè)庫(kù)依賴(lài)于lxml,在Windows下可能需要編譯器。如果在安裝python-docx過(guò)程中發(fā)現(xiàn)找不到編譯器或者編譯lxml錯(cuò)誤的現(xiàn)象,可到 https://pypi.python.org/pypi/lxml/2.3/下載和安裝預(yù)編譯的版本。
只需要4行代碼就可以創(chuàng)建一個(gè)Word文檔:
第一行引入docx庫(kù)和Document類(lèi)。Document類(lèi)即代表了『文檔』,第二行創(chuàng)建了Document類(lèi)的一個(gè)實(shí)例document,相當(dāng)于『這篇文檔』。緊接著,我們?cè)谖臋n中利用add_paragraph函數(shù)添加一個(gè)段落,段落的內(nèi)容是Hello,Word!。最后,用save函數(shù)將文檔保存在磁盤(pán)上。
運(yùn)行這個(gè)腳本,就得到了文件demo.docx。用Office軟件打開(kāi),看看里面的內(nèi)容。

下面一個(gè)任務(wù)是在一個(gè)Word文檔里添加255個(gè)圓圈,顏色為紅色由淺入深。顯然,這個(gè)任務(wù)在Word里人工完成是非常麻煩的。但用代碼就非常簡(jiǎn)單了。

畫(huà)圖我們利用了常用的PIL庫(kù)。