转自其他博客 实测可用

# 加载库

import os

import pandas as pd

from pptx import Presentation

from pptx.util import Cm, Pt

from pptx.enum.text import PP_ALIGN

from pptx.dml.color import RGBColor

# 设置路径

work_path = r'D:\pythonCode\ppt_wirte'

os.chdir(work_path)

# 定义数

square_target = [20000, 1000, 1000000, 300]

square_achivement = [19000, 888, 888888, 289]

month_target = [20000, 1000, 100000, 120]

month_achivement = [18000, 888, 888888, 118]

df = pd.DataFrame(data={'1 季度指标': square_target,

'1 季度完成': square_achivement,

'1 季度完成率': None,

'3 月份指标': month_target,

'3 月份完成': month_achivement,

'3 月份完成率': None

},

index = ['运营车辆(辆)', '运营网点(个)', '会员(个)', '净收入(万元)']

)

# 计算指标完成率,将转换为百分数

df['1 季度完成率'] = (df['1 季度完成'] / df['1 季度指标']).apply(lambda x: format(x, '.1%'))

df['3 月份完成率'] = (df['3 月份完成'] / df['3 月份指标']).apply(lambda x: format(x, '.1%'))

# 实例化 ppt 文档对象

prs = Presentation()

# 插入幻灯片

title_only_slide = prs.slide_layouts[5]

slide_1 = prs.slides.add_slide(title_only_slide)

shapes = slide_1.shapes

shapes.title.text = '目标达成情况'

# 预设表格总体布局参数

rows = 5

columns = 9

left = Cm(1.5)

top = Cm(4.5)

width = Cm(1)

height = Cm(1)

# 添加表格

table = shapes.add_table(rows=rows,

cols=columns,

left=left,

top=top,

width=width,

height=height

)

table = table.table

# 调整行高、列宽

for i in range(rows):

table.rows[i].height = Cm(1)

for i in range(columns):

if i in (1, 5):

continue

table.columns[i].width = Cm(3)

# 写入表头

header = df.columns

for i, h in enumerate(header):

if i >= 3: # 第六列为空白

i += 1

a = i + 2

cell = table.cell(0, a) #

tf = cell.text_frame

para = tf.add_paragraph()

para.text = h

para.font.size = Pt(13)

para.alignment = PP_ALIGN.CENTER # 居中

# 写入行名称

row_names = df.index

for i, r in enumerate(row_names):

r = r.replace('(', '\n(') # 强制换行

cell = table.cell(i+1, 0)

tf = cell.text_frame

para = tf.add_paragraph()

para.text = r

para.font.size = Pt(13)

para.alignment = PP_ALIGN.CENTER # 居中

# 按行写入数据

r, c = df.shape

for i in range(r):

for j in range(c):

a = j + 2 # 让开前两列

if j >= 3: # 第六列为空白

a += 1

cell = table.cell(i+1, a)

tf = cell.text_frame

para = tf.add_paragraph()

para.text = str(df.iloc[i, j])

para.alignment = PP_ALIGN.RIGHT # 右对齐

for c in (1, 5):

for r in range(rows):

cell = table.cell(r, c)

cell.fill.solid()

cell.fill.fore_color.rgb = RGBColor(255, 255, 255)

# 保存 ppt

prs.save('test_ppt_table.pptx')

精简版

from pptx import Presentation

from pptx.util import Inches, Pt

# 创建新的ppt文档

#prs = Presentation()

# 打开一个ppt文档

prs = Presentation('test.pptx')

#页面

title_slide_layout = prs.slide_layouts[0]

slide = prs.slides.add_slide(title_slide_layout)

#容器

shapes = slide.shapes

shapes.text = 'hello world'

#添加文本

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'

# 保存ppt文档

prs.save('test.pptx')

python控制ppt翻页_python 操作ppt相关推荐

  1. python爬虫怎么翻页_python爬虫_入门_翻页

    写出来的爬虫,肯定不能只在一个页面爬,只要要爬几个页面,甚至一个网站,这时候就需要用到翻页了 其实翻页很简单,还是这个页面http://bbs.fengniao.com/forum/10384633. ...

  2. 一种语音控制PPT翻页系统的制作方法

    本实用新型属于智能语音领域,特别是涉及一种语音控制PPT翻页系统. 背景技术: 随着计算机技术.投影技术和网络技术的发展,各行各业的工作已经离不开计算机的参与.多媒体演示已经受到了人们的广泛应用.而多 ...

  3. 计算机ppt翻页笔,ppt翻页笔怎么使用?

    我们在课堂上或者在演讲时,为了操作方便,能够更好地控制ppt,大家一般会使用ppt翻页笔,使用ppt翻页笔对幻灯片进行控制是非常方便和精准的,今天小编和大家分享一下使用方法,不会使用的朋友可以参考一下 ...

  4. 一级计算机ppt切换效果怎么做,PPT翻页效果、倒计时怎么做?一分钟变电脑大神...

    原标题:PPT翻页效果.倒计时怎么做?一分钟变电脑大神 很多人在问小编PPT翻页效果.倒计时效果怎么做?翻页效果.倒计时效果能让PPT变得生动有趣,而且操作过程十分简单,一起来看看吧! 一.PPT翻页 ...

  5. 计算机ppt翻页笔,ppt翻页笔没反应?这样做就可以。

    来源:诺为 作者:Mason 预计阅读时间:3分钟 PPT翻页笔没反应?根据以下几种情况,并按解决方案进行操作,便可以解决了! 可能原因如下: 1.电脑没有安装好驱动程序,使用过程中接收器接受不良,可 ...

  6. 蓝牙翻页笔(PPT 控制器)| ESP32轻松学(Arduino版)

    众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...

  7. python翻页_python实现电子书翻页小程序

    本文实例为大家分享了python实现电子书翻页的具体代码,供大家参考,具体内容如下 1.题目: 电子书翻页: (1)自动翻页:每次默认读三行,读完之后睡两秒,直到把所有内容全部读出来 (2)手动翻页: ...

  8. python爬虫下一页_python爬虫怎么获取下一页的url

    如何用python实现爬虫抓取网页时自动翻页在你没有任何喜欢的人的时候,你过得是最轻松快乐的,尽管偶尔会觉得孤单了点. 小编把网页的第一篇内容抓取好了,但是用python怎么抓取后面的 又如何停止那天 ...

  9. 抓取安居客二手房经纪人数据,python爬虫自动翻页

    为什么80%的码农都做不了架构师?>>>    和链接不一样,安居客网站里面没有找到总页数,可能在json里面有,只是我没有找到. 基于此能不能做网页的循环爬取呢. 能否判断页面读取 ...

最新文章

  1. jmeter性能测试报告_用 JMeter 做接口测试的优劣浅析
  2. web:网站性能工具Yslow
  3. Pycharm如何调整代码颜色以及字体样式
  4. java中访问权限控制顺序_Java中的四种访问权限控制 | 学步园
  5. 【2022美赛F奖】B题:水电共享
  6. 2.证券投资基金的概述
  7. 基于Eviews的稳定性检验——以个股的β系数为例(含ADF检验步骤及结果分析)
  8. 自用机器学习笔记(1):什么是概率以及似然
  9. 安卓自定义 View 进阶: 图片文字
  10. 日有所思(7)——电拖疑问
  11. 【笔记总结】计算机系期末复习、专业课学习、算法与其他笔记
  12. WPF软件导致Win10系统的平板电脑小键盘自动隐藏问题
  13. 【大数据入门核心技术-Tez】(四)Tez与Hdfs整合
  14. 谷歌浏览器提示客户端和服务器不支持一般 SSL 协议版本或加密套件(亲测有效)
  15. 【海康摄像头二次开发】移植海康摄像头Android SDK并实现多屏显示
  16. 为什么 Proxy 一定要配合 Reflect 使用?
  17. 二分查找和二分搜索树(含插入,查找的递归非递归)
  18. 李彦宏南大演讲:90后是幸运的一代 机会很多
  19. 福布斯:区块链——社会影响力未来的关键
  20. 【如何毁了一个人】你的沉迷,不全是你的错,是这个时代充满太多的诱惑!!!

热门文章

  1. MindSpore如何实现自定义训练
  2. 四川省评高级教师考职称计算机,四川省中学教师中、高级职称评审条件
  3. Logo Grabber 一键快速下载网站Logo 的免费插件
  4. 火影智能AI伪原创插件伪原创源码
  5. win7下搭建Nginx简单图片服务器
  6. 欧拉品牌升级:坚持女性品牌是最正确的决策
  7. 国科大本科生9个月设计出处理器芯片 可运行Linux系统
  8. grpc双向流 python_gRPC Golang/Python使用
  9. mysql 分组之后 取分组之后最新的数据
  10. mysql分组取最新一条数据