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

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

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

介绍

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

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

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

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

准备工作

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

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

然后,我们需要定义一些常量,如文件名,字体,颜色等,如下:lKo28资讯网——每日最新资讯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文件,获取获奖者的姓名,奖项,以及日期,如下:lKo28资讯网——每日最新资讯28at.com

lKo28资讯网——每日最新资讯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文件,如下:lKo28资讯网——每日最新资讯28at.com

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

生成PPT奖状

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

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

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

然后,我们需要遍历获奖者列表,为每个获奖者生成一个PPT奖状,如下:lKo28资讯网——每日最新资讯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文件,如下:lKo28资讯网——每日最新资讯28at.com

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

总结

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

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

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

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

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

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

标签:
  • 热门焦点
  • 8月总票房已突破10亿!《封神》第一:口碑已经成了

    8月总票房已突破10亿!《封神》第一:口碑已经成了

    8月5日消息,据灯塔专业版数据,截至8月5日9时35分,8月总票房(含预售)已突破10亿。其中,《封神》以大比分的优势领先。根据官方消息,目前该片总票房已经超过14.
  • Raft算法:保障分布式系统共识的稳健之道

    Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • 十个可以手动编写的 JavaScript 数组 API

    十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 企业采用CRM系统的11个好处

    企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 虚拟键盘 API 的妙用

    虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 当家的盒马,加速谋生

    当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己“当家”的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 8月见!小米MIX Fold 3获得3C认证:支持67W快充

    8月见!小米MIX Fold 3获得3C认证:支持67W快充

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
  • OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    日前OPPO官方宣布,全新的OPPO K11将于7月25日正式发布,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼IMX890主摄,堪称是2000档位影像表
Top