python中word,python处理word文档格式
本文介绍一些关于Python操作docx文档的知识点。主要涉及的内容是python-docx,一个可以操作Word文档的第三方库(仅支持docx)。跟边肖学。
00-1010写在前面创建一个文档。首先实现第一步,写标题,添加文字段落,列表,添加图片,添加表格,添加相关样式,设置页眉页脚。
目录
Python-docx不支持doc文档,一定要注意这一点。如果使用doc文档,需要事先用Word相关软件转换成docx格式。doc和docx有本质区别,一个是二进制,一个是XML。
模块安装pip安装python-docx。
下面的网址先准备好了。
官方手册:https://python-docx.readthedocs.io/en/latest/index.htmlpypis官方地址:https://pypi.org/project/python-docx/.一旦资料准备好了,就可以进入编码程序了。
写在前面
第一个要求是创建一个文档,并在其中写入各种信息。
创建一个文档
注意下面add_heading()函数的用法。
从docx导入文档
#创建Document对象相当于在计算机上打开一个Word文档。
文档=文档()
#给Word文档添加标题
Document.add_heading(这是标题,级别=0)
#保存文档
document.save(demo.docx )
先实现第一步,写入一个标题
注意,add_paragraph()函数在下面添加段落,add_run()用于追加文本。
从docx导入文档
#创建Document对象相当于在计算机上打开一个Word文档。
文档=文档()
#给Word文档添加标题
Document.add_heading(这是标题,级别=0)
#向文档添加段落
P=document.add_paragraph(这是白给的一段)
#添加样式文本
#添加一个段落,文本可以包含制表符(\t)、换行符(\n)或回车符(\r)等。
# add_run()在段落后追加文本。
p . add _ run( \ n我倾向于)。italic=True #添加倾斜的文本。
p . add _ run( \ n m bold )。bold=True #添加粗体文本
#保存文档
document.save(demo.docx )
在段落前添加文本。
p . add _ run( \ n我倾向于)。italic=True #添加倾斜的文本。
p . add _ run( \ n m bold )。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].headerheader.add_paragraph(橡皮擦的页眉)
页脚设置
footer = document.sections[0].footer
到此这篇关于Python操作word文档的示例详解的文章就介绍到这了,更多相关Python操作word文档内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。