当前位置:首页 > 科技  > 软件

Python 办公神器:教你使用 Python 批量制作 PPT

来源: 责编: 时间:2024-03-25 17:32:47 236观看
导读介绍本文将介绍如何使用openpyxl和pptx库来批量制作PPT奖状。本文假设你已经安装了python和这两个库。本文的场景是:一名基层人员,要给一次比赛活动获奖的500名选手制作奖状,并且奖状需要做成PPT在颁奖大会上电子展示,手

介绍

本文将介绍如何使用openpyxl和pptx库来批量制作PPT奖状。XK828资讯网——每日最新资讯28at.com

本文假设你已经安装了python和这两个库。XK828资讯网——每日最新资讯28at.com

本文的场景是:一名基层人员,要给一次比赛活动获奖的500名选手制作奖状,并且奖状需要做成PPT在颁奖大会上电子展示,手上有一份名单 list.xlsx 和 PPT 奖状模板 temp.pptx。XK828资讯网——每日最新资讯28at.com

XK828资讯网——每日最新资讯28at.com

准备工作

首先,我们需要导入openpyxl和python-pptx库,以及其他一些辅助库,如下:XK828资讯网——每日最新资讯28at.com

import openpyxlfrom pptx import Presentationfrom pptx.util import Inches, Ptimport os

然后,我们需要定义一些常量,如文件名,字体,颜色等,如下:XK828资讯网——每日最新资讯28at.com

# 文件名EXCEL_FILE = 'list.xlsx'PPT_FILE = 'temp.pptx'OUTPUT_DIR = 'output'# 字体FONT_NAME = '微软雅黑'FONT_SIZE = 36FONT_COLOR = 'FFFFFF'# 占位符索引NAME_INDEX = 0AWARD_INDEX = 1DATE_INDEX = 2

接下来,我们需要读取Excel文件,获取获奖者的姓名,奖项,以及日期,如下:XK828资讯网——每日最新资讯28at.com

XK828资讯网——每日最新资讯28at.com

# 读取Excel文件wb = openpyxl.load_workbook(EXCEL_FILE)ws = wb.active# 获取获奖者列表awardees = []for row in ws.iter_rows(min_row=2, values_only=True):    name, award, date = row    awardees.append((name, award, date))

最后,我们需要创建一个输出目录,用来存放生成的PPT文件,如下:XK828资讯网——每日最新资讯28at.com

# 创建输出目录if not os.path.exists(OUTPUT_DIR):    os.mkdir(OUTPUT_DIR)

生成PPT奖状

XK828资讯网——每日最新资讯28at.com

首先,我们需要加载PPT模板文件,获取幻灯片母版,以及占位符对象,如下:XK828资讯网——每日最新资讯28at.com

# 加载PPT模板文件prs = Presentation(PPT_FILE)# 获取幻灯片母版slide_layout = prs.slide_layouts[0]# 获取占位符对象placeholders = slide_layout.placeholders

然后,我们需要遍历获奖者列表,为每个获奖者生成一个PPT奖状,如下:XK828资讯网——每日最新资讯28at.com

# 遍历获奖者列表for name, award, date in awardees:    # 生成一个PPT奖状    slide = prs.slides.add_slide(slide_layout)    # 填充姓名    name_placeholder = slide.placeholders[NAME_INDEX]    name_placeholder.text = name    name_placeholder.font.name = FONT_NAME    name_placeholder.font.size = Pt(FONT_SIZE)    name_placeholder.font.color.rgb = FONT_COLOR    # 填充奖项    award_placeholder = slide.placeholders[AWARD_INDEX]    award_placeholder.text = award    award_placeholder.font.name = FONT_NAME    award_placeholder.font.size = Pt(FONT_SIZE)    award_placeholder.font.color.rgb = FONT_COLOR    # 填充日期    date_placeholder = slide.placeholders[DATE_INDEX]    date_placeholder.text = date    date_placeholder.font.name = FONT_NAME    date_placeholder.font.size = Pt(FONT_SIZE)    date_placeholder.font.color.rgb = FONT_COLOR

最后,我们需要保存生成的PPT文件,如下:XK828资讯网——每日最新资讯28at.com

# 保存生成的PPT文件output_file = os.path.join(OUTPUT_DIR, 'awards.pptx')prs.save(output_file)

总结

本文介绍了如何使用openpyxl和python-pptx库来批量制作PPT奖状。XK828资讯网——每日最新资讯28at.com

本文通过一个实际的场景,演示了如何读取Excel文件,写入PPT文件,以及使用PPT占位符来填充内容。XK828资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-79136-0.htmlPython 办公神器:教你使用 Python 批量制作 PPT

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: C#中的“=>”:Lambda表达式与表达式体定义

下一篇: 适用于Vue 3的高颜值UI组件库!

标签:
  • 热门焦点
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 19个 JavaScript 单行代码技巧,让你看起来像个专业人士

    今天这篇文章跟大家分享18个JS单行代码,你只需花几分钟时间,即可帮助您了解一些您可能不知道的 JS 知识,如果您已经知道了,就当作复习一下,古人云,温故而知新嘛。现在,我们就开始今
  • 为什么你不应该使用Div作为可点击元素

    按钮是为任何网络应用程序提供交互性的最常见方式。但我们经常倾向于使用其他HTML元素,如 div span 等作为 clickable 元素。但通过这样做,我们错过了许多内置浏览器的功能。
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大“烤”之下的除了众生,还有各大企业发布的ESG报告。ESG是“环境保
  • AI芯片初创公司Tenstorrent获三星和现代1亿美元投资

    Tenstorrent是一家由芯片行业资深人士Jim Keller领导的加拿大初创公司,专注于开发人工智能芯片,该公司周三表示,已经从现代汽车集团和三星投资基金等
  • 首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
Top