接上文Python开发从零开始-50.27-Office 文档处理,本文小编与大家分享 Python 处理 Office 文档的相关知识。
(四)python-pptx 库的基本使用
1、创建、打开和保存 PPT 文档
pptx.Presentation() 函数主要用于创建新的 PPT 文档,或者打开已有 PPT 文档。该函数原型为:
Presentation(pptx: str | IO[bytes] | None = None) |
参数解释:
pptx:多类型参数,可选值包括:
字符串:文件路径名,通常为已有 PPT 文档;
文件流对象(字节数组):可从文件流中加载 PPT 文档数据;
无参或使用 None:基于内置默认模板创建空白演示文稿;
返回值:Presentation 对象。
(1)创建默认版式的 PPT 文档
使用无参的 Presentation() 函数可以创建默认版式的 PPT 文档,代码片段如下所示:
from pptx import Presentation# 创建一个新 PPT 文档prs = Presentation()
使用带文件名路径参数的 Presentation() 函数可以打开已有 PPT 文档,代码片段如下所示:
from pptx import Presentation# 打开已有 PPT 文档prs = Presentation('example_create1.pptx')
(3)保存 PPT 文档
save(file: str | IO[bytes]) |
参数解释:
file:多类型参数,可选值包括:
文件名路径字符串;
文件流对象(字节数组)。
创建并保存 PPT 文档的代码示例如下:
from pptx import Presentation# 创建一个新 PPT 文档prs = Presentation()# 保存 PPT 文档prs.save('example_create.pptx')
代码执行后,生成 空白 PPT 文档,如下图所示:

2、在 PPT 文档中添加幻灯片
python-pptx 库很多常用对象都不能直接创建,而是通过相关方法获取对象实例,然后再通过获取的对象实例进行操作,所以在实际使用时大量使用链式操作。
小编提示: 在编程语言中,链式操作是一种非常方便且优雅的方式,它允许以连续的方法调用方式来完成多个操作。Python 链式操作的核心指方法链(Method Chaining),即方法执行后返回对象本身(self)或新对象,从而支持连续调用。 链式操作的注意事项:
|
(1)在 PPT 文档中添加幻灯片的分解步骤
对于初学者而言,链式操作往往难以理解连续调用过程中返回的各类对象,为便于大家了解如何在 PPT 文档中添加幻灯片,小编将其链式操作进行拆解,具体步骤如下:
1)获取 PPT 文档的母版对象
① 当 PPT 文档仅一个母版时,可以使用 Presentation 对象的 slide_master 属性获取 PPT 文档的第一个母版对象(SlideMaster 对象)。
# 如果 PPT 文档中只有一个母版,可以直接获取母版对象master = prs.slide_master
② 当 PPT 文档有多个母版时,需要先获取 PPT 文档的母版集合,然后再从母版集合中获取母版对象。
可以使用 Presentation 对象的 slide_masters 属性获取 PPT 文档的母版对象集合对象(SlideMasters 对象)。
# 获取 PPT 文档的母版集合masters = prs.slide_masters
# 从母版集合对象中获取母版对象master = masters[0]
可以使用 SlideMaster 对象的 slide_layouts 属性获取获取幻灯片版式集合对象(SlideLayouts 对象)。
# 获取幻灯片版式集合对象layouts = master.slide_layouts
3)从版式集合对象中获取版式对象
可以通过 SlideLayouts 对象索引,获取版式对象(SlideLayout 对象)。
# 从版式集合对象中获取版式对象layout = layouts[0]
4)获取 PPT 文档的幻灯片集合
可以使用 Presentation 对象的 slides 属性获取获取幻灯片版式集合对象(Slides 对象)。
# 获取 PPT 文档的幻灯片集合对象slides = prs.slides
5)通过幻灯片集合的添加新幻灯片方法,获得幻灯片对象,并将幻灯片对象与版式对象绑定
Slides 对象的 add_slide() 方法用于添加并返回新幻灯片(Slide 对象)。该方法原型为:
add_slide(slide_layout) |
参数解释:
slide_layout:SlideLayout 对象,将新幻灯片对象与版式对象绑定;
返回值:Slide 对象,返回新幻灯片对象。
添加新幻灯片代码片段示例如下:
# 添加新幻灯片,将新幻灯片对象与版式对象绑定slide = slides.add_slide(layout)
完整的在 PPT 文档中添加幻灯片的分解步骤代码示例如下:
from pptx import Presentation# 创建一个新 PPT 文档prs = Presentation()# 如果 PPT 文档中只有一个母版,可以直接获取母版对象master = prs.slide_master# 获取幻灯片版式集合对象layouts = master.slide_layouts# 从版式集合对象中获取版式对象layout = layouts[0]# 获取 PPT 文档的幻灯片集合对象slides = prs.slides# 添加新幻灯片,将新幻灯片对象与版式对象绑定slide = slides.add_slide(layout)# 保存 PPT 文档prs.save('example_side_create.pptx')
代码执行后,生成的 PPT 文档内容如下图所示:

受文章篇幅所限,下文将继续介绍 Python 处理 Office 文件的相关知识。
夜雨聆风