您好,登錄后才能下訂單哦!
這篇文章主要介紹Python操作Word文檔docx的常用方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
安裝
docx是一個非標準庫,需要在命令行(終端)中使用pip即可安裝
pip install python-docx
一定要注意,安裝的時候是python-docx而實際調用時均為docx!
前置知識
Word中一般可以結構化成三個部分:
文檔Document
段落Paragraph
文字塊Run
也就是Document - Paragraph - Run三級結構,這是最普遍的情況。其中文字塊Run最難理解,并不能完成按照圖中所示,兩個符號之間的短句是文字塊。
通常情況下可以這么理解,但假如這個短句子中有多種不同的 樣式,則會被劃分成多個文字塊,以圖中的第一個黃圈為例,如果給這個短句添加一些細節
此時就有4個文字塊,同時有時候一個Word文檔中是存在表格的,這時就會新的文檔結構產生
這時的結構非常類似Excel,可以看成Document - Table - Row/Column - Cell四級結構
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文字塊組成
for paragraph in wordfile.paragraphs: for run in paragraph.runs: print(run.text)
5. 遍歷表格
上面的操作完成的經典三級結構的遍歷,遍歷表格非常類似
# 按行遍歷 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(255, 0, 0) # 字體顏色
3. 段落樣式設置
默認對齊方式是左對齊,可以自行修改
以上是“Python操作Word文檔docx的常用方法有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。