天天看点

python自动化办公:4秒钟生成399份荣誉证书,效率提升2万倍

作者:人工智能取经人

如果有一个工具可以在短短4秒钟内完成一周的工作量,你会怎么想?这不是天方夜谭,这是Python编程语言带给我们的现实奇迹!

1. 故事背景

在每个学期的尾声,幼儿园的小朋友们都会收到一份特别的“好孩子”荣誉证书。这份荣誉证书是每个孩子都能得到的一份鼓励和认可。如果哪个小朋友没有收到这份证书,那么家长和孩子都会感到非常失望,甚至会找到老师进行一番理论。

在我朋友的幼儿园,每学期结束时,发放荣誉证书成了一项重要的活动。整个幼儿园有将近400份荣誉证书需要填写,这通常需要专人花费几天的时间来完成。可这一次我用Python几秒钟就解决了这个难题。

python自动化办公:4秒钟生成399份荣誉证书,效率提升2万倍

2. 传统方法的局限性

  • 耗时:每份奖状的制作至少需要5分钟,总计将近25个小时。
  • 重复劳动:工作内容机械重复,效率低下。
  • 易出错:手工填写信息容易出现错误。

3. Python自动化的解决方案

使用Python自动化办公工具来批量自动化生成PPT版荣誉证书。

4. 如何实现自动化?

4.1 准备工作

  • 收集信息:整理好所有获奖孩子的名单和相关信息,存储到Excel里。
  • 设计模板:在PowerPoint中设计一个奖状模板,包括姓名、学年、时间等可变字段。
python自动化办公:4秒钟生成399份荣誉证书,效率提升2万倍

4.2 Python脚本开发

  • 编写脚本:利用Python的python-pptx库来操作PPT文件。
  • 批量填充:编写循环,自动填充每个孩子的信息到模板中。

Python代码

from pptx import Presentation
prs = Presentation('data\荣誉证书模板.pptx')
slide = prs.slides.add_slide(prs.slide_layouts[0]) # 第一个模板的第0个板式
for ph in slide.placeholders: #遍历这页PPT的所有占位符
    phf = ph.placeholder_format #获取占位符的格式
    print(phf.idx) #打印其ID编号
    ph.text = str(phf.idx)# 将编号写入PPT对应的位置中,以便后面一一对应
# 以上读取到占位符的ID方便后面调用
prs.save('data\荣誉证书模板-占位符编号.pptx')


from openpyxl import load_workbook
wb = load_workbook("data\名单.xlsx")
ws = wb.active
data={}
for row in range(2,ws.max_row+1):
    class_id = ws['A' + str(row)].value
    name = ws['B' + str(row)].value 
    data.setdefault(class_id,[])
    data[class_id].append(name)




import time
t0=time.time()# 程序开始运行的时间


prs = Presentation('data\荣誉证书模板.pptx')
slide_layout = prs.slide_layouts[0] #调用设置好的母版,因为是母版的第一版式,所以取[0]
for class_id in data:
    for name in data[class_id]:
        slide = prs.slides.add_slide(slide_layout) #以母版的版式为基础新增一页幻灯片
        #往幻灯片中写入内容
        slide.placeholders[10].text = "{} 班 {} 同学:".format(class_id,name) #此处是班级和姓名
        slide.placeholders[11].text = "在2023-2024学年度第一学期获得"
        slide.placeholders[12].text = "“好孩子”称号。"
        slide.placeholders[13].text = "特发此证,以资鼓励。"
        slide.placeholders[14].text = "市幼儿园"
        slide.placeholders[15].text = "2024年4月"
prs.save('data\荣誉证书(总).pptx')
t1 = time.time()


print('程序用时:',str(round(t1-t0))+'秒。')           
python自动化办公:4秒钟生成399份荣誉证书,效率提升2万倍
python自动化办公:4秒钟生成399份荣誉证书,效率提升2万倍

4.3 自动化流程

  • 一键运行:通过pyinstaller将整个项目代码打包成EXE软件,具体方法可以看我另一篇文章《人人都能享受办公自动化的便利——三步将Python程序转为软件》,老师只需点击运行按钮,程序便开始工作。
  • 快速生成:程序会迅速生成399份奖状,每份奖状的信息都是准确无误的。

5. 实际效果

  • 时间节省:从25小时缩短到4秒钟,效率提升了22500倍!
  • 零错误:自动化避免了手工填写可能出现的错误。
  • 易于调整:未来若要增加或修改奖状内容,只需调整模板和脚本即可。

6. 结语

通过这个案例,我们可以看到Python在自动化办公领域的强大潜力。它不仅能帮助我们节省时间,提高效率,还能减少人为错误,提升工作质量。如果你也是一位教育工作者或对自动化办公感兴趣,不妨学习Python,开启高效办公的新篇章!

继续阅读