一段批量生成准考证的python脚本

(38) 2024-03-17 08:01:01

笔者最近接到单位任务,帮助办公室制作本年度公开招聘考试的准考证,因考生数量庞大,想到用python来简化工作任务。

要用到的工具有:
1.python3.5以上版本
2.docxtpldocxpandas工具包
3.准考证模板、考生信息表和考生对应照片

准考证模板.docx
一段批量生成准考证的python脚本 (https://mushiming.com/)  第1张

考生信息.xlsx
一段批量生成准考证的python脚本 (https://mushiming.com/)  第2张

考生照片:张三.png
一段批量生成准考证的python脚本 (https://mushiming.com/)  第3张

下面附上具体代码:

from docxtpl import InlineImage
from docx.shared import Mm
from docxtpl import DocxTemplate
import pandas as pd

data = pd.read_excel(r'E:\\Users\\Administrator\\Desktop\\准考证\\cs\\信息.xlsx')

name_id = data["考生号"] 
name = data["姓名"]
test_id = data["准考证号"]
id_number = data["身份证号"]
sex = data["性别"]

num = data.shape[0] 
for i in range(num):
    tpl = DocxTemplate('E:\\Users\\Administrator\\Desktop\\准考证\\cs\\模板.docx')  ## 表格要设置适应内容,不然会变形

    context = { 
   
        "考生号": "0"+str(name_id[i]),
        "姓名": name[i],
        "准考证号": test_id[i],
        "身份证号": id_number[i],
        "性别": sex[i],
        "头像": InlineImage(tpl, 'E:\\Users\\Administrator\\Desktop\\准考证\\cs\\图片\\' + name[i] + '.png', width=Mm(26), height=Mm(32)) 
    }
    tpl.render(context)  
    tpl.save("E:\\Users\\Administrator\\Desktop\\准考证\\res\\0{}{}准考证.docx".format(name_id[i], name[i]))

刚学习python,用来练练手。

THE END

发表回复