本文的標題是《一篇就夠,python 操作 word 文檔,使用 python-docx 落地實現》來源于:由作者:陳春燕采編而成,主要講述了寫在前面python-docx 不支持 doc 文檔,一定
寫在前方python-docx 不扶助 doc 文檔,確定要提防該點,即使運用 doc 文檔,須要提早將其用 word 關系軟硬件變換為 docx 方法。 doc 和 docx 是生存實質分別的,一個是二進制,另一個 xml 方法的文件。
模塊的安置 pip install python-docx 。
以次網址開始籌備好
官方畫冊:https://python-docx.readthedocs.io/en/latest/index.html
pypi 官方地方:https://pypi.org/project/python-docx/
材料籌備結束,即可加入源代碼步驟。
創造一個文檔第一個需要,創造一個文檔,并在內里寫入百般消息。
先實行第一步,寫入一個題目
提防下文中的 add_heading() 因變量的用法。
from docx import document
# 創造 document 東西,等價于在電腦上翻開一個 word 文檔
document = document()
# 在 word 文檔中增添一個題目
document.add_heading('這是一個題目',level=0)
# 生存文檔
document.save('demo.docx')
增添文字段落提防下文中 add_paragraph() 因變量增添段落,運用 add_run() 追加文本
from docx import document
# 創造 document 東西,等價于在電腦上翻開一個 word 文檔
document = document()
# 在 word 文檔中增添一個題目
document.add_heading('這是一個題目', level=0)
# 文檔增添段落
p = document.add_paragraph('這是白給的段落')
# 增添帶款式的文字
# 增添段落,文本不妨包括構圖符(t)、換行符(n)或回車符(r)等
# add_run() 在段掉隊面追加文本
p.add_run('n我歪斜了').italic = true # 增添一個歪斜文字
p.add_run('n我加粗了').bold = true # 增添一個加粗文字
# 生存文檔
document.save('demo.docx')
在段落前方減少文字
p.add_run('n我歪斜了').italic = true # 增添一個歪斜文字
p.add_run('n我加粗了').bold = true # 增添一個加粗文字
# 段落前方插入實質
prep_p = p.insert_paragraph_before('段落之前插入實質')
段落還不妨增添分頁符,代碼如次所示:
# 段落前方插入實質
prep_p = p.insert_paragraph_before('段落之前插入實質')
document.add_page_break()
p1 = document.add_paragraph('新頁新段落')
列表的增添無序列表的增添
# 增添列表(前方一個小圓點)
document.add_paragraph('我前方是小圓點', style='list bullet')
# 增添列表(前方一個小圓點)
document.add_paragraph('第二個小圓點', style='list bullet')
無序列表的增添
# 增添列表(前方數字)
document.add_paragraph('我前方是數字', style='list number')
# 增添列表(前方數字)
document.add_paragraph('第二個數字', style='list number')
圖片的增添document 東西完備的本領如次所示:
add_heading(self, text='', level=1):增添題目;add_page_break(self):分頁符;add_paragraph(self, text='', style=none):增添段落;add_picture(self, image_path_or_stream, width=none, height=none):增添圖片;add_section(self, start_type=2):增添節;add_table(self, rows, cols, style=none):增添表格;本局部中心進修 add_picture() 本領。
document.add_picture(r"../9.png", width=inches(1))add_picture() 因變量中參數 image_path_or_stream 不妨為對立地方大概一致地方,也不妨是一個圖片數據流,上述代碼中 inches 表白英尺,除此除外, python-docx 還供給了厘米 (cm) ,如樹立 1厘米: cm(1) ,運用的功夫須要提先導入 from docx.shared import inches, cm 。
表格增添運用 add_table() 因變量,不妨在 word 文檔中增添表格。
p1 = document.add_paragraph('新頁新段落')
# 增添一個 2×2 表格
table = document.add_table(rows=2, cols=2)
# 獲得第1行第2列單位格
cell = table.cell(0, 1)
# 樹立單位格文本
cell.text = '第1行第2列'
# 獲得第2行
row = table.rows[1]
row.cells[0].text = '橡皮擦'
row.cells[1].text = '喬喻'
進修的功夫提防一下關系解釋,即可控制該局部實質。
關系款式樹立樹立方法須要用 add_run() ,徑直運用 add_paragraph() 天生的段落不許徑直樹立字體等款式。
# 模塊的導出
from docx.shared import pt, cm, inches
from docx.oxml.ns import qn
from docx.enum.text import wd_align_paragraph
from docx.shared import rgbcolor
# 頭等題目 level=0
head0 = document.add_heading(level=0)
# 題目居中
head0.alignment = wd_align_paragraph.center
title_run = head0.add_run('這是一個居中的題目', )
title_run.font.size = pt(24)
# 題目英文字體
title_run.font.name = 'times new roman'
# 題目中文字體
title_run.element.rpr.rfonts.set(qn('w:eastasia'), '微軟雅黑')
# 字體臉色
title_run.font.color.rgb = rgbcolor(4, 60, 169)
個中 wd_align_paragraph 東西表白段落對其的辦法,其值囊括如次實質
wd_align_paragraph. left:左對齊;wd_align_paragraph. center:居中對其;wd_align_paragraph. right:右對齊;wd_align_paragraph. justify:兩頭對齊;螺距,段間距
line_spacing 屬性用來樹立螺距, space_before 表白段前距, space_after 表白段后距。
斜體,下劃線,粗體樹立
font.italic = true #樹立斜體
font.underline = true #樹立下劃線
font.bold = true #樹立粗體
首行縮進
paragraph_format_line_indent 不妨樹立縮進值。
其它樹立
除去上述實質外,還不妨經過 document.styles.add_style('textstyle', wd_style_type. paragraph) ,運用 add_style() 本領創造新的款式東西,后續就不妨經過供給的屬性舉行款式樹立,樹立字體運用 font.size ,樹立字體臉色為 font.color 。
而后在增添段落的功夫,就不妨運用該屬性了。
from docx.shared import rgbcolor
from docx.enum.style import wd_style_type
style = document.styles.add_style('textstyle', wd_style_type.paragraph)
# 字體巨細
style.font.size = pt(16)
# 字體臉色
style.font.color.rgb = rgbcolor(66, 100, 0)
p1 = document.add_paragraph('超人橡皮擦',style=style)
頁眉和頁腳頁眉和頁腳不妨徑直樹立,參考代碼如次所示
header = document.sections[0].header
header.add_paragraph('橡皮擦的頁眉')頁腳樹立
footer = document.sections[0].footer————————————————
作家:理想橡皮擦
原文鏈接:https://blog.csdn.net/hihell/article/details/121966945
正文原作家為陳春燕,連載請證明:根源!如該文有不當之處,請接洽站長簡略,感謝協作~
原創文章,作者:陳春燕,如若轉載,請注明出處:http://www.uuuxu.com/20220416283170.html