欢迎关注”生信修炼手册”!

ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能。ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程。

本文主要介绍python操作ppt的技巧,编程的优势在于处理速度,对于高大上的ppt设计,还是需要"以人为本", 所以该模块的使用场景主要是ppt基本元素的提取和添加,适合大量内容的转化,比如word转ppt, 减少大量繁琐的人工操作,尽管提供了一些基本的样式设计,但是并不能满足日常办公对ppt美观性的要求。

在该模块中,将ppt拆分为了以下多个元素

1. presentations, 表示整个ppt文档

2. sliders. 表示ppt文档的每一页

3. shapes

4. placeholders

上述分类对应的常用操作如下

1. presentations

用于打开,创建,保存ppt文档,用法如下

>>> from pptx import Presentation
# 创建新的ppt文档
>>> prs = Presentation()
# 打开一个ppt文档
>>> prs = Presentation('input.pptx')
# 保存ppt文档
>>> prs.save('test.pptx')

2. slides

在创建一页ppt时,需要指定对应的布局,在该模块中, 内置了以下9种布局

1. Title

2. Title and Content

3. Section Header

4. Two Content

5. Comparison

6. Title Only

7. Blank

8. Content with Caption

9. Picture with Caption

通过数字下标0到9来访问,指定布局添加一页ppt的用法如下

>>> title_slide_layout = prs.slide_layouts[0]
>>> slide = prs.slides.add_slide(title_slide_layout)

3. shapes

shapes表示容器,在制作ppt时,各种基本元素,比如文本框,表格,图片等都占据了ppt的一个部分,或者矩形区域,或者其他各种自定义的形状。shapes表示所有基本元素的和, 通过如下方式来访问对应的shapes

>>> shapes = slide.shapes

对于shapes而言,我们可以获取和设置其各种属性,比如最常用的text属性,用法如下

>>> shapes.text = 'hello world'

还可以通过add系列方法来添加各种元素,添加文本框的方法如下

>>> from pptx.util import Inches, Pt
>>> left = top = width = height = Inches(1)
>>> txBox = slide.shapes.add_textbox(left, top, width, height)
>>> tf = txBox.text_frame
>>> tf.text = "first paragraph"
>>> p = tf.add_paragraph()
>>> p.text = "second paragraph"

添加表格的方法如下

>>> rows = cols = 2
>>> left = top = Inches(2.0)
>>> width = Inches(6.0)
>>> height = Inches(0.8)
>>> table = shapes.add_table(rows, cols, left, top, width, height).table
>>> table.columns[0].width = Inches(2.0)
>>> table.columns[1].width = Inches(4.0)
>>> # write column headings
>>> table.cell(0, 0).text = 'Foo'
>>> table.cell(0, 1).text = 'Bar'

4. placeholders

shapes表示所有基本元素的总和,而placeholders则表示每一个具体的元素,所以placeholders是shapes的子集, 通过数字下标来访问对应的placeholder,用法如下

>>> slide.placeholders[1]
<pptx.shapes.placeholder.SlidePlaceholder object at 0x03F73A90>
>>> slide.placeholders[1].placeholder_format.idx
1
>>> slide.placeholders[1].name
'Subtitle 2'

placeholders是页面上已有的元素,获取对应的placeholders之后,可以通过insert系列方法来向其中新添元素。

了解上述层级结构,有助于我们对ppt的读写操作。除了写操作之外,也可以通过读操作来批量提取ppt中的特定元素,以文字为例,提取方式如下

from pptx import Presentationprs = Presentation(path_to_presentation)text_runs = []for slide in prs.slides:for shape in slide.shapes:if not shape.has_text_frame:continuefor paragraph in shape.text_frame.paragraphs:for run in paragraph.runs:text_runs.append(run.text)

通过该模块,可以快速搭建ppt的基本框架,也可以批量提取ppt中的特定元素,比如提取文字转换成word, 或者提取表格转换成excel文件。总而言之,该模块适合替代大量繁琐的人工复制粘贴操作。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

更多精彩

  • KEGG数据库,除了pathway你还知道哪些

  • 全网最完整的circos中文教程

  • DNA甲基化数据分析专题

  • 突变检测数据分析专题

  • mRNA数据分析专题

  • lncRNA数据分析专题

  • circRNA数据分析专题

  • miRNA数据分析专题

  • 单细胞转录组数据分析专题

  • chip_seq数据分析专题

  • Hi-C数据分析专题

  • HLA数据分析专题

  • TCGA肿瘤数据分析专题

  • 基因组组装数据分析专题

  • CNV数据分析专题

  • GWAS数据分析专题

  • 2018年推文合集

  • 2019年推文合集

写在最后

转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

扫描下方二维码,关注我们,解锁更多精彩内容!

一个只分享干货的

生信公众号

通过python-pptx模块操作ppt文件相关推荐

  1. python的pptx文档_通过python-pptx模块操作ppt文件

    ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能.ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程. 本文主要介绍python操作ppt的技巧,编程 ...

  2. Python pptx模块

    安装pptx pip install python-pptx Python pptx模块是一个Python库,用于创建和更新Microsoft PowerPoint (.pptx)文件.该模块允许开发 ...

  3. python pptx 关于在ppt里插入表格,调整合并单元格的问题

    python pptx 关于在ppt里插入表格,调整合并单元格的问题 需求 找到合并了的单元格 思路 判断是否是合并单元格 合并位置的记录 合并 代码 需求 首先我这是为了从word里面将内容导到pp ...

  4. Python自动化办公:ppt文件操作教程

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前和大家介绍了python操作excel和word文件的教程,今天来和大家介绍下python对ppt的操作. 在公众号后台 ...

  5. 使用python中openpyxl模块操作excel文件,计算单元格分子式的相对分子质量(一)

    背景:本人是力学专业博士,从事分子动力学模拟,最近需要对结果进行数据分析,其中一项就是计算每一时刻的不同分子式的相对分子质量并将最大相对分子质量输出,换出曲线图.已知,分子式数据均保存在excel文件 ...

  6. python 文档操作_Python 文件操作

    一. Python 读写 创建文件 Python中对文件,文件夹(文件操作函数)的操作需要涉及到OS 模块和 shutil 模块 . 一) . OS模块 的基本操作 方法 功能 os.getcwd() ...

  7. 【Python学习 】Python的模块或py文件导入

    目录 一.前言 二.python项目中导入模块(py文件)的几种方式 1.直接将py文件放到默认的库位置(特点:高效) 2.将文件放到创建的库位置(特点:方便管理) 3.将模块(模块包含很多py文件) ...

  8. python把excel变成ppt_用Python写excel和ppt文件

    #xlsx和 xls #一:openpyxl 只能读取xlsx 推荐使用的二种方法 #因为excle文件中可以有多个编排 故可以返回字典 #该方法只适应于xlsx文件,不能处理xls文件 ''' fr ...

  9. python读写excel模块pandas_Windows下Python使用Pandas模块操作Excel文件的教程

    安装Python环境ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用到的Numpy和Pandas等.更重要的是,不论在哪个平台上 ...

最新文章

  1. 【Android 逆向】修改 Android 的 apk 安装包内的文件并重新打包 ( apktool_2.6.0.jar 下载和使用 | zipalign 文件对齐 | apksigner 签名 )
  2. Scala的集合类中的map方法和count 方法
  3. python删除一个文件_Python 实现一个小功能: 删除某路径下文件及文件夹的脚本...
  4. Layui的轮播事件和echarts插件事件
  5. 数据结构与算法笔记(二) 线性表(数组描述)
  6. 小米8ios图标包下载_小米手机中这么实用的隐藏功能,知道的人居然那么少?真可惜...
  7. java字符串的替换replace、replaceAll、replaceFirst的区别详解
  8. mysql临时表如何分页_sql server 与 mysql 分页查询以及创建临时表的区别
  9. js 原型链的介绍
  10. 栈的应用实例——平衡符号
  11. 清华大学计算机学院研究生导师,清华大学计算机科学与技术系研究生导师简介-武永卫...
  12. cache数据库入门教程 数据库m语言常用函数和命令
  13. 中规院交通院《上海全球城市综合交通体系承载能力与开发研究》
  14. 攻防世界-Crypto-告诉你个秘密(键盘密码)-ISCC2017
  15. Pollard-Rho算法模板(POJ 1811 Prime Test)
  16. 使用阿里云服务器安装微擎教程环境搭建
  17. 量化交易学习5--获取板块中股票
  18. java身份证以及手机号的工具类
  19. php 无限极分类(两种方式)
  20. 把时间沉淀到自己的热爱里 | Kagol 的 2022 年终总结

热门文章

  1. 315道Python面试题答案
  2. H分公司局域网络部署
  3. 从键盘输入50个学生数据,打印出每门课的平均成绩
  4. php 上标和下标,css如何显示文字的上标和下标
  5. 微信h5支付在iframe弹窗的坑
  6. 大数据相关概念-什么是探针
  7. java doc转换docx_java PDF转DOC.docx
  8. 苹果系统各平台软件安装包地址
  9. 斐讯的服务器不稳定,K1不稳定的原因找到了!原因是CPU时钟频率太高,要降频!...
  10. python同时打开两个文件_在python中使用with打开多个文件的方法