python编程ppt_python编程操作office三剑客之PPT篇
安装包
安装pip install python-pptx -i
https:/
/pypi.doubanio.com/simple
/引用import pptx官方文档https:/
/python-pptx.readthedocs.io/en
/latest/
PPT基本概念
在中国的语境下,PowerPoint指微软所提供的那个工具,而PPT则指具体的幻灯片文档。
【Presentation对象】
一个PPT文件在python中被映射为一个Presentation。新建、打开、保存,都是通过Presentation来操作的。
Presentation最关键的属性是:幻灯片宽度:slide_width幻灯片高度:slide_height
幻灯片很讲布局,手工是用鼠标拖拽的所见即所得方式,我们可以不很在意幻灯片的实际尺寸。用程序布局幻灯片则不同,必须精确地设定宽度和高度。宽度和高度可以厘米Cm,也可以使用英寸Inch,按自己喜好选择。prs.slide_width= Cm(
25)prs.slide_height= Cm(
20)
【版式的问题】一个Presentation包含多个幻灯片或称幻灯页(slide),每个slide可以一个预设的版式。在不同的版本的office中,具体版式的顺序和数量或许有略差异,由于我们使用PPT多半是用于自己的自动办公,所以看一下自己机器上的版式是什么样的即可。对于编程来说,最喜欢的版式其实是第6个和第7个:只有标题,或者干脆是空白。这样方便我们自己布局。通过 Presentation.slides.add_slide(版式) 函数,可以增加一个具体的幻灯页——返回一个slide对象。添加内容,就通过这个slide对象操作。
【slide对象的内容】向slide对象增加内容,与对word的操作有类似性,但也有一个明显的差别。word中增加内容基本是线性的从上向下,但一个幻灯片中的内容则可以是任意布局的。所以必须明确地指定插入内容的位置。我们重点看五项内容的操作方式:标题(title)、文字(text)、图片(picture)、表格(table)、图表(chart)。
1、标题(title)
如果我们希望幻灯页中有一个标题,可以选择title_only的版式。
slide1 = prs.slides.add_slide(title_only_slide_layout) shapes = slide1.shapes shapes.title.text =
"幻灯片标题"
如果所选的版式没有标题,或者是我们还想加一个副标题,那么只需按下面加入文字的方法来处理即可。
2、文字(text)
PPT中所有的文字,必须存在于某个文字框(textbox)中。使用add_textbox增加一个文字框,每个文字框,一旦增加,就有了一个默认的段落。这里请对比一下word中的操作,不增加一个paragrah就没有任何段落。txBox = shapes.add_textbox(Cm(
2), Cm(
3.
5), Cm(
21),Cm(
2)) tf = txBox.text_frame p = tf.paragraphs[
0] p.alignment = PP_ALIGN.CENTER p.text =
"副标题" p.font.size= Pt(
24)
注意这里的代码,增加textbox,必须设定位置和大小,有四个参数,分别是左上角的X、Y坐标和宽度、高度。
这里可以直接设定它的对齐方式、文字内容、字体大小,等等。
3、图片(Picture)
增加图片,除了文件名之外,同样还必须有位置参数,但大小一般不用指定两个值。如果我们想保持图片默认的宽高比,我们只需指定一个参数即可。
left=
Cm(
0) top =
Cm(
4) width =
Cm(
12) shapes.add_picture(img,
left, top, width=width)
4、表格(Table)
PPT中的表格的使用思路与Word中的表格有所不同,创建一个表格必须有6个参数,除了4个位置大小参数外,还必须有行、列数的参数。其中的行列宽高会自动均分。table = shapes.add_table(rows, cols, left, top, width, height).table
默认的表格有表头,如果不想显示表头,可以设定取消。
table.first_row=
False
表格内容填写,就是通过cell(x,y)的方式来访问了。cell=
table.cell(x, y) tf= cell.text_frame tf.text=
"文字内容" p= tf.paragraphs p[
0].font.bold= True
注意这里我们发现,向表格中添加文字的方式与向文本框中添加文字的方式相同,都是通过首先获得一个text_frame来实现。同样,我们通过获取第一个段落的方式来修改字体,比如这里将文字设置为黑体。
5、图表(chart)
【ChartData对象】
与Excel不同,PPT中的表格没有自动的数据源,所以必须在程序中设定数据。这样使用起来反而更简单了。一个数据就是一个列表list。
完整的表格数据包括:横坐标的数据和每个Series的数据。
chart_data = ChartData()data1=[。。。]data2=[。。。]chart_data.categories= data1chart_data.add_series(
"", data2)
有了数据之后,还得指定一个图表类型。图表类型有很多,常用的无非还是线图、柱图、饼图那些。在范例代码的最后,附带了所有的图表类型与说明,也可以在官网文档中查到。
【chart对象】chart=shapes.add_chart( XL_CHART_TYPE.COLUMN_CLUSTERED, left, top, width, height, chart_data )
这里是一个柱状图的例子。
【饼图】
相对于柱状图和线图来说,饼图是比较特殊的,这里专门讨论一下。
首先,饼图一般只能显示一个Series,这也很好理解——多个序列看起来会很乱。
饼图中的横坐标,不再是横坐标,而是以图例的方式显示:has_data_labels=True。
chart.has_legend =
Truechart.plots[
0].has_data_labels =
Truedata_labels = chart.plots[
0].data_labelsdata_labels.number_format =
"0"data_labels.position = XL_LABEL_POSITION.OUTSIDE_END
数据的显示,饼牙角度显示固然直观,但我们一般还希望看到数值,所以必须打开has_data_labels=True。并进行相关设置。
案例
中国各省命名缘由的展示与统计分析。
python编程ppt_python编程操作office三剑客之PPT篇相关推荐
- python三剑客电子版_python编程操作office三剑客之Excel篇
安装包 安装pip install openpyxl -i https://pypi.doubanio.com/simple/引用import openpyxl官方文档https://openpyxl ...
- python三剑客电子版_python编程操作office三剑客之word篇
安装包 安装pip install python-docx -i https:/ /pypi.doubanio.com/simple /引用import docx官方文档https:/ /python ...
- python函数ppt_Python自动化操作PPT看这一篇就够了
1. PPT自动化能干什么?有什么优势?它可以代替你自动制作PPT 它可以减少你调整用于调整PPT格式的时间 它可以让数据报告风格一致 总之就是:它能提高你的工作效率!让你有更多时间去做其他事情! 2 ...
- python自动化ppt_Python自动化操作PPT看这一篇就够了
作者:超级大洋葱806 1.PPT自动化能干什么?有什么优势? 它可以代替你自动制作PPT 它可以减少你调整用于调整PPT格式的时间 它可以让数据报告风格一致 总之就是:它能提高你的工作效率!让你有更 ...
- 初学python的30个操作难点汇总(入门篇)希望对你有帮助
初学Python的人总会遇到这样或者那样的问题,在我学习Python的这段时间我总结了自己的29个问题,具体如下: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的 ...
- 使用SQL数据库在Python中执行CRUD操作
目录 介绍 背景 在Visual Studio中创建一个Python项目 在SQL中创建数据库和表 为数据库创建配置文件 安装Python包 "Pypyodbc" 创建连接文件 创 ...
- 牛逼!Python的类和对象(长文系列第⑤篇)
系列最后一篇来说说Python中的类与对象,Python这门语言是无处不对象,如果你曾浅要了解过Python,你应该听过Python是一种面向对象编程的语言,所以你经常可能会看到面向"对象& ...
- python编程实例详解-Python编程之列表操作实例详解【创建、使用、更新、删除】...
这篇文章主要介绍了Python编程之列表操作,结合实例形式分析了Python列表的创建.使用.更新.删除等实现方法与相关操作技巧,需要的朋友可以参考下 #coding=utf8 ''''' 列表类型也 ...
- python字典在编程中的作用_python中的字典操作及字典函数
字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 字典的操作 # ...
最新文章
- Load和Initialize往死了问是一种怎样的体验?
- 使用选择器语法查找元素——​​​​​​​Selector选择器概述 ——未完待续
- 如何防止插入删除表造成的数据库死锁
- MyBatis复习(八):MyBatis 分页插件 PageHelper
- python虚拟环境中安装diango_python项目部署之 django虚拟环境
- C加加学习之路 1——开始
- Bluetooth的profile总结
- 你画我猜 计算机题目,你比我猜游戏爆笑词语(你画我猜题目大全500道)
- 电气工程学计算机有用吗,我是学计算机的,因为一直喜欢电气,所以想考个注..._电气工程师_帮考网...
- AtCoder Beginner Contest 158 E.Divisible Substring
- pika详解(二) BlockingConnection
- Matlab 模拟声波散射,一种目标声散射特征模拟装置的制作方法
- 荣誉加持,驭势科技近期斩获奖项回顾
- python中查看相对路径_python提取相对路径
- 本地的registry图形化界面harbor安装与使用--02
- ASP.NET文件操作
- [ZZULI]1064: 加密字符
- 太阳能光伏发电整流逆变实训装置,QY-TF01
- MSF复现Thinkphp漏洞
- MATLAB拟合中的fit用法
热门文章
- vostro3470装win7_戴尔(dell)成就3470台式机装win7系统及bios设置(支持8代/9代cpu)
- ELF文件解析 ELF File Parsing
- 2021年制冷与空调设备运行操作考试题及制冷与空调设备运行操作操作证考试
- iOS AI智能对话项目(一边设备开外放声音,一边录音降噪)
- 蓝牙5.0射频芯片NRF5283/NRF52832/NRF52840规格书
- columnattribute
- EMC World:VCE VxRack增加新节点简化OpenStack部署
- Android-应用开发-数据存储和界面展现(三)
- 文件夹加锁王 2007 v6.47 企业版 绿色
- linux命令学习(23 24)-su sudo