日常辦公中經常用到word程序,在python中同樣有針對word的操作庫python-docx;使得python可以自動化操作word文檔;
python-docx是一個利用python來讀寫word文件的第三方庫。是一個用於創建和更新 Microsoft Word (.docx) 文件的庫,提供全套的 Word 操作,是最常用的 Word 工具;
python-docx庫只支持docx文檔,如果是doc,需要轉換文件格式。文件格式轉換可以使用win32com庫的saveas方法進行自動化操作;
python-docx是一個開源庫,開源代碼庫地址在這裡:github地址
python-docx有配套的官方文檔,可訪問https://python-docx.readthedocs.io/en/latest/查看最新官方教程文檔;
安裝python-docx
安裝方式建議使用pip包管理器進行安裝,相對來說比較方便;
pip install python-docx
導入python-docx
在安裝時使用的名字是python-docx,但是在導入時是另一個名字docx
import docx
python-docx中的基本概念:
Document:是一個 Word 文檔 對象,打開不同的 Word 文檔,就會有不同的 Document 對象,相互之間沒有影響
Paragraph:是段落,一個 Word 文檔由多個段落組成,當在文檔中輸入一個回車鍵,就會成為新的段落,輸入 shift + 回車,不會分段
Run 表示一個節段,每個段落由多個 節段 組成,一個段落中具有相同樣式的連續文本,組成一個節段,所以一個 段落 對象有個 Run 列表
注意:顏色、字體、粗細、斜體不同,就是不同的文字塊。
使用docx寫word文檔:
1、新建一個空白文檔
doc = docx.Document()
2、添加標題
doc.add_heading(‘這個是標題,級別有level決定’,level=2)
3、添加段落
p = doc.add_paragraph(‘這個是一個段,可長可短’)
4、添加文字塊:
p.add_run(’\n–這個是換行的節段,但是還是一個段落’)
5、保存文件
doc.save(‘H://pytest.docx’)
完整代碼示例
def create(): '''創建一個word''' doc = docx.Document() #新建一個空白文檔 doc.add_heading('這個是標題,級別有level決定',level=2) #添加標題 p = doc.add_paragraph('這個是一個段,可長可短') p.insert_paragraph_before('在第一段之前插入一個段落') p.add_run('\n--這個是換行的節段,但是還是一個段落') p.add_run('==粗體文字').bold = True #設置粗體 p.add_run('--斜體文字').italic = True #設置斜體 doc.add_page_break() # 插入空白頁 np = doc.add_paragraph('新的段落') from docx.enum.text import WD_BREAK np.runs[-1].add_break(WD_BREAK.PAGE) # 在段落的最後一個節段後添加分頁 doc.save('H://pytest.docx') #保存
除了常規的文字,還可以添加表格等特殊格式;
讀word文檔:
讀取文檔比較簡單,主要是加載文件,獲取段落,獲取表格等信息
示例代碼如下:
def read(): '''讀文檔''' doc = docx.Document('H://pytest.docx') # 打開當前路徑下的已有文檔 for paragraph in doc.paragraphs: print(f'paragraph.text = {paragraph.text}') for run in paragraph.runs: print(f'\trun.text = {run.text}') for table in doc.tables: print(f"表格======{table}") for i in range(len(table.rows)): for j in range(len(table.columns)): print (f"{i}行{j}列:數據:{table.cell(i,j).text}")
List of articles One 、 Prefac
提示:本文需要一定的c編程基礎 文章目錄前言一、安裝ANAC