笔者最近接到单位任务,帮助办公室制作本年度公开招聘考试的准考证,因考生数量庞大,想到用python来简化工作任务。
要用到的工具有:
1.python3.5以上版本
2.docxtpl、docx、pandas工具包
3.准考证模板、考生信息表和考生对应照片
准考证模板.docx
考生信息.xlsx
考生照片:张三.png
下面附上具体代码:
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,用来练练手。