python自动化办公之python操作PPT(一)

简介: python自动化办公之python操作PPT(一)

1、python-pptx模块简介

使用python操作PPT,需要使用的模块就是python-pptx,下面来对该模块做一个简单的介绍。这里提前做一个说明:python操作PPT,最好是我们提前设计好自己的一套样式,然后利用进行python进行内容的获取和填充(最主要的功能!),最好是不用使用python代码操作PPT的格式,格式的修改肯定不如我们直接在PPT中修改方便。


可以创建、修改PPT(.pptx)文件

需要单独安装,不包含在Python标准模块里

python-pptx官网介绍:https://python-pptx.readthedocs.io/en/latest/

2、模块的安装与导入

1)模块的安装

"Windows用户命令行下输入"
pip install python-pptx
"Mac用户命令行下输入"
pip3 install python-pptx


2)模块的导入

这里有一点需要注意的是:安装的库是python-pptx,但是导入的时候却有点不同。


import pptx

3、python读取PPT文档中的内容

1)PPT的结构说明

在使用python操作PPT之前,首先应该清楚PPT的结构,这个对于之后代码的编写很有帮助。

image.png

注意:关于run块儿的概念,可以参考我的另外一篇文章https://blog.csdn.net/weixin_41261833/article/details/106028038


2)获取Slide

from pptx import Presentation
prs = Presentation("统计学习方法PPT.pptx")
for slide in prs.slides:
    print(slide)


结果如下:


image.png

3)获取Shape形状

import pptx
from pptx import Presentation
prs = Presentation("统计学习方法PPT.pptx")
for slide in prs.slides:
    for shape in slide.shapes:
        print(shape)
"""
注意:这里得到的Shape对象,并不能看出什么,接着往下看。
"""


结果如下:

image.png


4)判断每个Shape中是否存在文字

shape.has_text_frame :是否有文字
shape.text_frame :获取文字框
import pptx
from pptx import Presentation
prs = Presentation("统计学习方法PPT.pptx")
for slide in prs.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            text_frame = shape.text_frame
            print(text_frame.text)


结果如下:

image.png


5)获取某一页Slide中的内容

import pptx
from pptx import Presentation
prs = Presentation("统计学习方法PPT.pptx")
for i,slide in enumerate(prs.slides):
    if i == 5:
        for shape in slide.shapes:
            if shape.has_text_frame:
                text_frame = shape.text_frame
                print(text_frame.text)


结果如下:

image.png


6)获取Shape中的某个Paragraph

import pptx
from pptx import Presentation
prs = Presentation("统计学习方法PPT.pptx")
for i,slide in enumerate(prs.slides):
    if i == 5:
        for shape in slide.shapes:
            if shape.has_text_frame:
                text_frame = shape.text_frame
                for paragraph in text_frame.paragraphs:
                    print(paragraph.text)
"""
注意:该方法和上述4)中的方法一摸一样。上述方法是直接获取Shpae中的文字内容;
下面这个更灵活,先获取每个Shape,然后在获取每个Shape中的paragraph;
下面方式更好:因为我们可以针对paragraph,写一个判断条件,只获取第几个paragraph;
"""


结果如下:

image.png


4、利用python像PPT中写入内容

1)幻灯片模板及占位符的概念

image.png

相关文章
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
729 0
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
1848 2
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
1776 4
推荐一款Python开源的AI自动化工具:Browser Use
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
人工智能 安全 虚拟化
Cua:Mac用户狂喜!这个开源框架让AI直接接管你的电脑,快速实现AI自动化办公
Cua是一个结合高性能虚拟化与AI代理能力的开源框架,能在Apple Silicon上以接近原生性能运行虚拟机,并让AI直接操作系统应用。
2576 17
Cua:Mac用户狂喜!这个开源框架让AI直接接管你的电脑,快速实现AI自动化办公
|
Python
Python 办公实战:用 python-docx 自动生成 Word 文档
本文详解如何使用 python-docx 库实现 Word 文档自动化生成,涵盖环境搭建、文档创建、格式设置、表格与图片处理、模板填充、批量生成及性能优化等实战技巧,助你高效完成办公场景中的文档自动化任务。
3338 1
|
数据采集 存储 前端开发
Python爬虫自动化:批量抓取网页中的A链接
Python爬虫自动化:批量抓取网页中的A链接
|
存储 数据采集 数据可视化
Python自动化分析知网文献:爬取、存储与可视化
Python自动化分析知网文献:爬取、存储与可视化

推荐镜像

更多