. 前言
日常自動化辦公中抵怎,使用 Python 真的能做到事半功倍栏饮!
在上一個系列中,我們對?Python 操作 Excel 進行了一次全面總結
最全總結 | 聊聊 Python 辦公自動化之 Excel(上)
最全總結 | 聊聊 Python 辦公自動化之 Excel(中)
最全總結 | 聊聊 Python 辦公自動化之 Excel(下)
從本篇文章開始曙咽,我們繼續(xù)聊聊另外一種常見的文檔格式:?Word
2. 準備
Python 操作 Word 最常見的依賴庫是:?python-docx
所以,在開始操作之前嚣崭,我們需要在虛擬環(huán)境下安裝這個依賴庫
# 安裝依賴pip3install python-docx
3. 寫入實戰(zhàn)
我們需要了解一個 Word 文檔的頁面結構
它們分別是:
文檔 -?Document
章節(jié) -?Section
段落 -?Paragraph
文字塊 -?Run
經(jīng)常操作?的數(shù)據(jù)類型包含:?段落、?標題懦傍、?列表雹舀、?圖片、?表格粗俱、?樣式
首先说榆,使用??Document?創(chuàng)建一個文檔對?象,相當于創(chuàng)建一個空白文檔
fromdocximportDocument# 1寸认、新建一個空白文檔doc = Document()
然后签财,就可以往文檔中寫入數(shù)據(jù)了
使用文檔對象的???add_heading(text,level)??方法可以寫入標題
其中,第 1 個參數(shù)為標題內(nèi)容偏塞,第 2 個參數(shù)代表標題的級別
比如:分別寫入一級標題唱蒸、二級標題、三級標題
#2灸叼、新增內(nèi)容#2.1標題# 分別寫入一個一級標題神汹,一個二級標題,一個三級標題doc.add_heading('一級標題',0)doc.add_heading('二級標題',1)doc.add_heading('三級標題',2)
段落 Paragraph 包含 3 類古今,分別是:
普通段落
自定義樣式的段落
引用段落
默認情況下屁魏,?使用文?檔對象的???add_paragraph(text,style)?方法來添加一個段落
普通段落:?假如第二個參數(shù) style 沒有傳入,則代表添加一個普通的段落
引用段落:?對于引用段落捉腥,?只需要指定段落?樣式為??Intense Quote?即可
# 2.2.1 新增普通段落doc.add_paragraph("我是一個普通段落氓拼。")# 2.2.3 新增一個引用段落# 只需要指定樣式為:Intense Quotedoc.add_paragraph('--我是一個引用段落--', style='Intense Quote')
自定義樣式的段落:?這里有 2 種實現(xiàn)方式
分別是:
創(chuàng)建一個空的段落對象,增加文字塊 Run 的時候抵碟,同時指定字體樣式
使用文檔對象?創(chuàng)建一個新的樣式(或已經(jīng)存在的樣式)披诗,然后添加段落的時候,設置到第二個參數(shù)中
考慮到樣式的樣式的復用性立磁,第 2 種方式可能更實用
對應的方法是:
document.styles.add_style(style_name,type)?
以第 2 種實現(xiàn)方式為例,新增一個自定義樣式的段落剥槐,設置段落的字體名稱唱歧、大小、顏色粒竖、是否加粗颅崩、對齊方式等
PS:第 1 種實現(xiàn)方式,文末源碼會提供
該方法第 2 個參數(shù)用來指定樣式類型蕊苗,包含 3 種
分別對應關系如下:
1:段落樣式
2:字符樣式
3:表格樣式
需要注意的是沿后,?新添加的樣式的時候,必須先判斷樣式名稱是否存在朽砰,否則會報錯
最后尖滚,添加段落的時候喉刘,將上面創(chuàng)建的樣式傳入到第 2 個參數(shù)中即可
使用add_paragraph() 方法添加一個段落,返回值為一個段落對象
其中漆弄,
第 1 個參數(shù)代表圖片路徑或者圖片流(網(wǎng)絡圖片)
第 2睦裳、3 個參數(shù)用于設置圖片的寬、高
需要注意的是撼唾,?如果沒有顯式指定寬高廉邑,則以圖片原生尺寸展示;如果僅設置了其中一個倒谷,則會按照設置的一個做等比縮放顯示
寫入本地圖片很簡單
其中蛛蒙,
第 1 個參數(shù):表格的行數(shù)目
第 2 個參數(shù):?表格的列數(shù)目
第 3?個參數(shù):?表格的樣式
使用行/列索引,可以獲取表格中某一行/列所有的單元格對象組成的列表
需要指出的是渤愁,?表格默認采用的樣式是?Table Grid牵祟,也可以使用上面的方法自定義一個表格樣式,插入表格的同時設置進去即可
4. 最后
本篇文章就 Word 寫入數(shù)據(jù)的常規(guī)操作進行了一次全面梳理猴伶,更多功能包含:?讀取课舍、修改、查找他挎、刪除等實戰(zhàn)內(nèi)容后面會持續(xù)輸出