python 使用 python-docx 读取和写入 word
生活随笔
收集整理的這篇文章主要介紹了
python 使用 python-docx 读取和写入 word
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python 使用 python-docx 讀取和寫入 word
- python-docx 庫介紹
- Python 讀取 Word 文檔內容
- python-docx 提取文字和文字塊
- python-docx 提取文字
- python-docx 提取文字塊
- 利用 Python 向 Word 文檔寫入內容
- 添加段落
- 添加文字塊
- 添加一個分頁
- 添加圖片
- 添加表格
- 提取 word 表格,并保存在 excel 中
python-docx 庫介紹
python-docx官方文檔
python-docx不屬于 python 標準庫,需要單獨安裝
pip install python-docx若安裝超時或速度較慢,可更換安裝源 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docxpython-docx 庫可以用于創建、修改 Word(.docx)文件
Python 讀取 Word 文檔內容
word 文檔結構
python-docx 提取文字和文字塊
python-docx 提取文字
from docx import Documentpath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx'doc = Document(path) print(doc.paragraphs)# 輸出的是列表,列表中一共有4份內容 # [<docx.text.paragraph.Paragraph object at 0x7fca95f0aba8>, # <docx.text.paragraph.Paragraph object at 0x7fca95f0abe0>, # <docx.text.paragraph.Paragraph object at 0x7fca95f0ab70>, #<docx.text.paragraph.Paragraph object at 0x7fca95f0ac50>,]for paragraph in doc.paragraphs:print(paragraph.text)# 輸出文件中的所有文字# 摘要 # # 二十一世紀,科技的不斷發展,移動互聯網行業的技術迭代不斷深入。 # 電子商務已成為一項較為先進的商業模式在我國快速興起與發展,網絡購物這一行業發展日益成熟,網上購物已成當前購物訂單評價方式的主流。python-docx 提取文字塊
from docx import Documentpath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx'doc = Document(path) # print(doc.paragraphs)# 輸出的是列表,列表中一共有4份內容 # [<docx.text.paragraph.Paragraph object at 0x7fca95f0aba8>, #<docx.text.paragraph.Paragraph object at 0x7fca95f0abe0>, # <docx.text.paragraph.Paragraph object at 0x7fca95f0ab70>, #<docx.text.paragraph.Paragraph object at 0x7fca95f0ac50>,]paragraph0 = doc.paragraphs[0] runs0 = paragraph0.runs print(runs0)for run0 in runs0:print(run0.text)# 輸出結果:# 輸出結果:該段落被分為1個文字塊,文字塊內容為“摘要”# [<docx.text.run.Run object at 0x7f5ea3faec18>] # 摘要paragraph1 = doc.paragraphs[1] runs1 = paragraph1.runs print(runs1)for run1 in runs1:print(run1.text)# 輸出結果:該段落為空,沒有文字塊 # []paragraph2 = doc.paragraphs[2] runs2 = paragraph2.runs print(runs2)for run2 in runs2:print(run2.text)# 輸出結果:該段落被分為4個文字塊#[<docx.text.run.Run object at 0x7f3e6fe43c50>, # <docx.text.run.Run object at 0x7f3e6fe43b38>, # <docx.text.run.Run object at 0x7f3e6fe43dd8>, # <docx.text.run.Run object at 0x7f3e6fe43cc0>] # 二十一世紀 # ,科技的不斷發展, # 移動互聯網行業的 # 技術迭代不斷深入。paragraph3 = doc.paragraphs[3] runs3 = paragraph3.runs print(runs3)for run3 in runs3:print(run3.text)# 輸出結果:該段落被分為5個文字塊# [<docx.text.run.Run object at 0x7f182b509b38>, #<docx.text.run.Run object at 0x7f182b509c18>, # <docx.text.run.Run object at 0x7f182b509b70>, # <docx.text.run.Run object at 0x7f182b509e10>, # <docx.text.run.Run object at 0x7f182b509cf8>] # 電子商務 # 已成為一項較為 # 先進的商業模式在我國快速興起 # 與發展,網絡購物這一行業發展日益成熟, # 網上購物已成當前購物訂單評價方式的主流。利用 Python 向 Word 文檔寫入內容
添加段落
from docx import Documentpath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx'doc = Document(path)# print(doc.add_heading("一級標題", level=1)) 添加一級標題的時候出錯,還沒有解決!# 添加段落的時候,賦值給一個變量,方便我們后面進行格式調整paragraph1 = doc.add_paragraph("物聯網-萬物互聯成為新的趨勢。") paragraph2 = doc.add_paragraph("電商企業在不斷豐富產品類,水果生鮮一類的電商產品, 在網上購物商場中也占據一席之地,但目前卻少有網站是單一為水果生鮮一類產品而設計。")# 保存 doc.save(path) # 注意,進行操作之后一定要進行保存操作,否則將對文件的修改會失效添加文字塊
from docx import Documentpath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx'doc = Document(path)# 這里相當于輸入了一個空格,后面等待著文字輸入 paragraph3 = doc.add_paragraph()paragraph3.add_run("這句是被加粗了文字塊").bold = True paragraph3.add_run(",這句是普通文字塊,") paragraph3.add_run("這句是斜體文字塊").italic = Truedoc.save(path)添加一個分頁
from docx import Documentpath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx'doc = Document(path)# 添加一個分頁 doc.add_page_break()# 在新分頁中添加一句話 paragraph1 = doc.add_paragraph("這是新增的一頁")doc.save(path)添加圖片
''' Cm 模塊,用于設定圖片尺寸大小 只給定一個寬度或高度,另一個會自動計算 '''from docx import Document from docx.shared import Cmpath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx' picPath = '/media/bobo/自動化辦公/wordOperation/openAndRead/pic.jpeg'doc = Document(path)doc.add_picture(picPath,width=Cm(7),height=Cm(5))doc.save(path)添加表格
from docx import Documentpath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx'doc = Document(path)list1 = [ ["姓名","性別","家庭地址"], ["唐僧","男","湖北省"], ["孫悟空","男","北京市"], ["豬八戒","男","廣東省"], ["沙和尚","男","湖南省"] ] list2 = [ ["姓名","性別","家庭地址"], ["貂蟬","女","河北省"], ["楊貴妃","女","貴州省"], ["西施","女","山東省"] ]table1 = doc.add_table(rows=5,cols=3)for row in range(5):cells = table1.rows[row].cellsfor col in range(3):cells[col].text = str(list1[row][col]) doc.add_paragraph("---------------------------------------------------------")table2 = doc.add_table(rows=4,cols=3)for row in range(4):cells = table2.rows[row].cellsfor col in range(3):cells[col].text = str(list2[row][col])doc.save(path)提取 word 表格,并保存在 excel 中
from docx import Document from openpyxl import WorkbookdocPath = '/media/bobo/自動化辦公/wordOperation/wordDemo/test2.docx'doc = Document(docPath)t0 = doc.tables[1]workbook = Workbook() sheet = workbook.activefor i in range(len(t0.rows)):list1 = []for j in range(len(t0.columns)):list1.append(t0.cell(i,j).text)sheet.append(list1)workbook.save(filename="/media/bobo/自動化辦公/wordOperation/wordDemo/test.xlsx")總結
以上是生活随笔為你收集整理的python 使用 python-docx 读取和写入 word的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利差
- 下一篇: Zipf's law