当前位置: 欣欣网 > 码农

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

2024-03-21码农

介绍

  • 本文将介绍如何使用 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文件,如下:

  • # 创建输出目录
    ifnot 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占位符来填充内容。

  • Sora最近老火了,Sora 的出现会对短视频、广告、游戏、影视行业等产业格局一定会被重塑,目前 Sora 还没正式开放注册,大家看到的使用体验大部分都来自官网,或者少部分的用户分享。

    为了避免更多读者受骗,我们直接给大家整了一个免费的。

    注意是下面【 Python都知道 】公众号,不是本公众号,点击下方的公众号卡片,然后回复【 sora ,即可获取最新 Sora 的最全资料。


    目前已经分享了,如何申请 Sora 的内测,以及最新关于 Sora 的技术特点,使用教程、变现机遇等等。

    大家如果想领取这份资料,可以点击下方的公众号卡片,然后回复 sora ,即可获取最新 Sora 的最全资料。

    需要提醒大家的是,Sora 目前还没有完全开放,任何市面上付费的一些课程,都请大家谨慎选择。

    可以确定的是:未来 10-20年,一定是 AI 的大风口、大时代,如果错过了公众号、错过了抖音、错过了小红书。

    请一定不要错过 AI +。

    面对浪潮,恐惧只会让我们伫立在原地,被巨浪吞噬。

    要去主动适应它,不被恐惧束缚,动起胳膊动起脚,才不会被淘汰。

    注意是下面【 Python都知道 】公众号,不是本公众号,点击下方的公众号卡片,然后回复 【 sora ,即可获取最新 Sora 的最全资料。