介绍
- 本文将介绍如何使用
openpyxl
和pptx
库来批量制作PPT奖状。 - 本文假设你已经安装了python和这两个库。
- 本文的场景是:一名基层人员,要给一次比赛活动获奖的500名选手制作奖状,并且奖状需要做成PPT在颁奖大会上电子展示,手上有一份名单
list.xlsx
和 PPT 奖状模板temp.pptx
。
准备工作
- 首先,我们需要导入
openpyxl
和python-pptx
库,以及其他一些辅助库,如下:
import openpyxl
from pptx import Presentation
from pptx.util import Inches, Pt
import os
- 然后,我们需要定义一些常量,如文件名,字体,颜色等,如下:
# 文件名
EXCEL_FILE = 'list.xlsx'
PPT_FILE = 'temp.pptx'
OUTPUT_DIR = 'output'
# 字体
FONT_NAME = '微软雅黑'
FONT_SIZE = 36
FONT_COLOR = 'FFFFFF'
# 占位符索引
NAME_INDEX = 0
AWARD_INDEX = 1
DATE_INDEX = 2
- 接下来,我们需要读取Excel文件,获取获奖者的姓名,奖项,以及日期,如下:
# 读取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文件,如下:
# 创建输出目录
if not os.path.exists(OUTPUT_DIR):
os.mkdir(OUTPUT_DIR)
生成PPT奖状
- 首先,我们需要加载PPT模板文件,获取幻灯片母版,以及占位符对象,如下:
# 加载PPT模板文件
prs = Presentation(PPT_FILE)
# 获取幻灯片母版
slide_layout = prs.slide_layouts[0]
# 获取占位符对象
placeholders = slide_layout.placeholders
- 然后,我们需要遍历获奖者列表,为每个获奖者生成一个PPT奖状,如下:
# 遍历获奖者列表
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文件,如下:
# 保存生成的PPT文件
output_file = os.path.join(OUTPUT_DIR, 'awards.pptx')
prs.save(output_file)
总结
- 本文介绍了如何使用
openpyxl
和python-pptx
库来批量制作PPT奖状。 - 本文通过一个实际的场景,演示了如何读取Excel文件,写入PPT文件,以及使用PPT占位符来填充内容。
学习资源推荐
除了上述分享,学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python大厂面试资料👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。
👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以V扫描下方二维码联系领取
【保证100%免费
】