程序員撩妹之讓行政小姐姐xing奮的代碼

原文地址以及視頻演示效果以及代碼獲取,請點擊下方

超鏈接在這裏!!!!

視頻演示效果

前言

在這裏插入圖片描述

有個小姐姐在後臺詢問我,最近企業有一個活動,有一個幾百人的表單,還有一份邀請函模板文檔,最近不小心刷到了我。上圖!

在這裏插入圖片描述
雖然可能沒聽懂你在說什麼,你也不給我複製粘貼的內容,如果我沒猜錯的話。應該是這樣的:

右側 *** 內容替換成左側的 單位+姓名 或者是 姓名

無題

不知道取什麼標題好,就這樣,暫時就定性爲:用Python批量生成word版邀請函

日常水一下:

  • 模塊
    • openpyxl 中的 load_workbook 方法 .
    • docx (在這裏賣個關子,想看完整的請點擊超鏈接)
  • 下載.
    • pip install openpyxl

獲取受邀人的信息

我們首先導入openpyxl模塊中的load_workbook模塊。

from openpyxl import load_workbook

我們使用load_workbook(path)讀取文件,並存在變量wb裏面。

wb=load_workbook('data/name_list.xlsx')
ws=wb['name']

接下來我們需要選取我們所需要的“Sheet”,也就是名字叫"name"的那張表

ws=wb['name']

然後定義一個空列表names來存儲受邀人單位和名字信息。隨後我們遍歷工作表,將所有信息提取出來存入列表names,因爲工作表第一行是標題,所以我們從第2行開始,最大一行+1結束range(2,ws.max_row+1)

names=[]
for row in range(2,ws.max_row+1):
    company=ws["A"+str(row)].value
    name=ws["B"+str(row)].value
    names.append(f" {company} {name} ")

以上步驟完成後,我們就可以開始批量生成邀請函了。首先導入處理word的庫

import docx

docx.Document('data/邀請函.docx')爲固定寫法,括號內填寫邀請函模板的路徑及文件名。doc可理解爲就是這個名爲“邀請函”word文件。然後遍歷names列表,將裏面的信息逐個寫入word文件的第二段的第三個run,即doc.paragraphs[1].runs[2].text=name,最後,用save保存即可

doc=docx.Document('data/邀請函.docx')
for run in doc.paragraphs[1].runs:
    for name in names:
        run.text = run.text.replace('****', name)
        doc.save(f'data/邀請函_{name}.docx')

效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章