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

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

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

介绍

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

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

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

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

准备工作

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

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

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

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

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

生成PPT奖状

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

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

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

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

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

总结

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

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

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

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

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

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

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 质感不错!OPPO K11渲染图曝光:旗舰IMX890传感器首次下放

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
  • 华为举行春季智慧办公新品发布会 首次推出电子墨水屏平板

    北京时间2月27日晚,华为在巴塞罗那举行春季智慧办公新品发布会,在海外市场推出之前已经在中国市场上市的笔记本、平板、激光打印机等办公产品,并首次推出搭载
Top