這篇文章主要介紹了關於Python讀寫docx檔案的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
Python讀寫word文檔有現成的庫可以處理。我這裡採用 python-docx。可以用pip install python-docx安裝一下。
這裡說一句,ppt和excel也有類似的庫哦,而且是直接讀取檔案裡面的xml資料。所以doc格式得另找其他庫處理,doc格式不是基於xml的。
1、建立或開啟檔案。這個比較簡單用docx的Document類,若指定路徑則是開啟文檔;若沒有指定路徑則是建立文檔
#coding:utf-8import docx #建立文檔doc_new = docx.Document() #讀取文檔doc = docx.Document(ur'C:\1.docx')
2、儲存檔案。有開啟,就有儲存。用Document類的save方法,其中參數是儲存的檔案路徑,或者要儲存的檔案流。一般指定路徑即可。
doc.save(path_or_stream)
3、對象集合。python-docx包含了word文檔的相關對象集合。
doc.paragraphs #段落集合doc.tables #表格集合doc.sections #節 集合doc.styles #樣式集合doc.inline_shapes #內建圖形 等等...
4、插入段落。段落是word最基本的對象之一。
doc.add_paragraph(u'第一段',style=None) #插入一個段落,文本為“第一段”#預設是不應用樣式,這裡也可以不寫style參數,或者指定一個段落樣式doc.add_paragraph(u'第二段',style='Heading 2') #這些樣式都是word預設帶有的樣式,可以直接羅列出來有哪些段落樣式print [s.name for s in doc.styles if s.type==1]
5、新增樣式。這個協助文檔裡面說得不仔細,而且還是英文的。我手頭上的項目用到這個,就自己琢磨出怎麼使用,如下。
#coding:utf-8from docx import Documentfrom docx.shared import RGBColor #這個是docx的顏色類 #建立文檔doc = Document() #新增樣式(第一個參數是樣式名稱,第二個參數是樣式類型:1代表段落;2代表字元;3代表表格)style = doc.styles.add_style('style name 1', 2) #設定具體樣式(修改樣式字型為藍色,當然還可以修改其他的,大家自己嘗試)style.font.color.rgb = RGBColor(0x0, 0x0, 0xff)
6、應用字元樣式。字元自然是在段落裡面的,可以採用下面方法給段落追加文字和設定字元樣式。
#插入一個空白段落p = doc.add_paragraph('')p.add_run('123', style="Heading 1 Char")p.add_run('456')p.add_run('789', style="Heading 2 Char") #這樣一個段落就應用了兩個字元樣式,中間“456”就沒應用樣式print p.text #輸出結果是u'123456789' 也還是連續的
7、設定字型。當然可以不用通過設定樣式對某些字進行設定,也可以直接設定。
p = doc.add_paragraph('')r = p.add_run('123')r.font.bold = True #加粗r.font.italic = True #傾斜 等等...
8、表格操作。表格也是經常用到的一種物件類型。
#建立一個2x3的表格,style可以不寫table=doc.add_table(rows=2,cols=3,style=None) #可以用table 的rows和columns得到這個表格的行數和列數print len(table.rows)print len(table.columns) #遍曆表格for row in table.rows: row.cells[0].text = '1' #print row.cells[0].text #新增行或列table.add_row()table.add_column()
Word常見操作差不多就是這些。大家可以查看協助文檔,也可以用dir和help查看對象的方法屬性和協助。