一篇就够,python **纵 word 文档,运用 python-docx 落地实行

本文的标题是《一篇就够,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)

一篇就够,python **纵 word 文档,运用 python-docx 落地实行

# 字体巨细

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.kaicen.cn/20220416283170.html