天天看點

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,開啟高效辦公的新篇章!

繼續閱讀