別再問我Python怎麼操做Word了!


前言

在以前的自動化系列文章中,咱們分別講解過👉Python操做Excel利器openpyxl,也講過👉Python操做PDF的幾種方式,今天咱們將經過代碼講解Python操做Word文檔docx的經常使用方法。
python

安裝

docx是一個非標準庫,須要在命令行(終端)中使用pip便可安裝web

pip install python-docx

必定要注意,安裝的時候是python-docx而實際調用時均爲docx!微信

前置知識

Word中通常能夠結構化成三個部分:app

  • 文檔 Document
  • 段落 Paragraph
  • 文字塊 Run

也就是Document - Paragraph - Run三級結構,這是最廣泛的狀況。其中文字塊Run最難理解,並不能完成按照圖中所示,兩個符號之間的短句是文字塊。編輯器

一般狀況下能夠這麼理解,但假如這個短句子中有多種不一樣的 樣式,則會被劃分紅多個文字塊,以圖中的第一個黃圈爲例,若是給這個短句添加一些細節👇此時就有4個文字塊,同時有時候一個Word文檔中是存在表格的,這時就會新的文檔結構產生這時的結構很是相似Excel,能夠當作Document - Table - Row/Column - Cell四級結構svg

Word讀取

1.打開Word

from docx import Document
path = ...
wordfile = Document(path)

2. 獲取段落

一個word文件由一個或者多個paragraph段落組成學習

paragraphs = wordfile.paragraphs 
print(paragraphs)

3. 獲取段落文本內容

.text獲取文本字體

for paragraph in wordfile.paragraphs: 
    print(paragraph.text)

4. 獲取文字塊文本內容

一個paragraph段落由一個或者多個run文字塊組成flex

for paragraph in wordfile.paragraphs: 
    for run in paragraph.runs: 
        print(run.text)

5. 遍歷表格

上面的操做完成的經典三級結構的遍歷,遍歷表格很是相似ui

# 按行遍歷
for table in wordfile.tables:
    for row in table.rows:
        for cell in row.cells:
            print(cell.text)
       
# 按列遍歷     
for table in wordfile.tables:
    for column in table.columns:
        for cell in column.cells:
            print(cell.text)

寫入Word

1. 建立Word

只要不指定路徑,就默認爲建立新Word文件

from docx import Document
wordfile = Document() 

2. 保存文件

對文檔的修改和建立都切記保存

wordfile.save(...)
... 放須要保存的路徑

3. 添加標題

wordfile.add_heading(…, level=…)

4. 添加段落

wordfile.add_paragraph(...)

wordfile = Document() 
wordfile.add_heading('一級標題', level=1) 
wordfile.add_paragraph('新的段落')

5. 添加文字塊

wordfile.add_run(...)

6. 添加分頁

wordfile.add_page_break(...)

7. 添加圖片

wordfile.add_picture(..., width=…, height=…)

設置樣式

1. 文字字體設置

2.文字其餘樣式設置

from docx import Document
from docx.shared import RGBColor, Pt

wordfile = Document(file)
for paragraph in wordfile.paragraphs:
    for run in paragraph.runs:
        
        run.font.bold = True  # 加粗 
        run.font.italic = True # 斜體 
        run.font.underline = True # 下劃線 
        run.font.strike = True # 刪除線 
        run.font.shadow = True # 陰影 
        run.font.size = Pt(20# 字號 
        run.font.color.rgb = RGBColor(25500# 字體顏色

3. 段落樣式設置

默認對齊方式是左對齊,能夠自行修改

小結

以上就是如何用Python中的docx模塊實現Word中的經常使用操做,只要明白什麼類型的操做能夠用Python執行,並能在以後遇到繁瑣的任務時想到使用Python便可,如下是幾個利用該模塊實現辦公自動化的案例,但願可以對你有所幫助:


本文爲公衆號早起Python專欄做者陳熹原創,轉載請後臺聯繫,未經受權的任何形式轉載均視爲侵權!


-END-



wen

mo


song

shu


今天推薦一本數據分析相關的新書:Python數據科學實踐(本書由狗熊會推出的一本利用Python介紹數據科學基本過程的著做,經過經典的商業應用案例對數據爬取、數據存儲、數據清洗、數據建模的核心Python模塊作相應的介紹)點擊下方圖片能夠直達購買頁面查看詳情與購買,如今京東和噹噹都有優惠!👇

早起在這裏也給你們贈送三本,規則以下:

  • 留言你是如何學習Python數據分析,點贊前三名各贈送一本。

  • 僅限最近一個月未在早起Python得到贈書的粉絲參與。

  • 時間截止9.23日上午九點。

本文分享自微信公衆號 - 早起Python(zaoqi-python)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索