Python办公自动化

第一章: 搞定Excel自动化

第二章: 搞定Word自动化

第三章: 搞定Email自动化

首页 > Python办公自动化 > 第二章: 搞定Word自动化 > 2.3节: Python-docx模块常用方法

2.3节: Python-docx模块常用方法

薯条老师 2022-09-15 14:39:48 56908 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师的线下Python小班办得很好,学员的平均就业薪资有11K。线下小班培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

2.3.1 构造Document对象

通过dockx模块中的Document类来构造Document对象:

 docx.Document(docx=None)

 返回一个Document对象,参数docx既可以是文件路径也可以是文件流对象。docx为空时表示新建一个空白文档

代码实例:

from docx import Document
document = Document()

2.3.2 添加标题,段落,分页符

获得Document对象以后,通过以下方法在文档中写入标题和段落:

Document.add_heading(text, level)


返回一个Heading Paragraph对象,text表示标题内容,level为标题的大小,取值为0-9。

Document.add_paragraph(p, parent )

返回一个Paragraph对象,参数p表示待添加的段落数据,parent表示父段落对象

添加分页符:

Document.add_page_break()


在当前页面添加一个分页符,文本会从下一个页面开始写入


2.3.3 添加表格

获得Document对象以后,可通过以下方法来添加表格:

Document.add_table(rows, cols, style)

 构造一个rows行cols列的表格对象,参数style用来指定样式

Table.rows

 指向表格的所有行,通过[索引]来访问每一个Row对象

Table.columns

 指向表格的所有列,通过[索引]来访问每一个Column对象

Table.add_row()

 返回一个Row对象,该对象指向表格的一行

Row.cells

 指向该行的所有表格单元,通过[索引]来访问每一个Cell对象

Cell.text

Cell对象的text指向该单元的文本,可通过该属性来读写表格单元。

2.3.4 添加图片

获得Document对象以后,通过以下方法来添加图片:

Document.add_picture(image_path_or_stream, width=None, height=None)

 参数image_path_or_stream表示图片路径或文件流对象,width用来指定图片的宽度,height用来指定图片的高度

图片的大小以dpi为单位,dpi表示每英寸点数。可通过docx内置的Inches模块来转化为英寸单位。以下为代码实例:

from docx import Document
from docx.shared import Inches
document = Document()
document.add_picture("./logo.png", width=Inches(2))

2.3.5 设置文档样式

在添加标题、段落或表格时,可通过style参数或对象的style属性来指定样式。docx模块支持的样式可参考官方文档。

document.add_paragraph('Lorem ipsum dolor sit amet.', style='ListBullet')
paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.')
paragraph.style = 'ListBullet'

调用段落对象的add_run方法来为文本单独应用样式:

paragraph.add_run(text, style)


返回一个run对象。text表示待写入的文本,style表示为该文本应用的样式。可通过run对象的样式属性比如bold,italic等来设置样式


2.3.6 Document对象的层级结构

下图所示为Document对象的层级结构,一个word文档主要由段落和表格构成。通过Document对象的paragraphs属性可访问文档的所有段落,通过paragraph的runs属性可访问段落中的所有文字块。

image.png

通过Document对象的tables属性可访问文档的所有表格,通过table对象的rows属性可访问所有表格行,通过Row对象的cells属性可访问表格行中的所有单元。

2.3.7 最具实力的小班培训

来这里参加Python和Java小班培训的学员大部分都找到了很好的工作,平均月薪有11K,学得好的同学,拿到的会更高。由于是小班教学,所以薯条老师有精力把每位学员都教好。打算参加线下小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取Python学习资料:

扫码领学习资料.jpg


欢迎 发表评论: