本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、模板文件
打开模板文件,可以看到,有3处1、内容需要更换。分别是页眉、标题、循环体。其中循环体为嵌套结构,外循环根据tbl_contents序列进行迭代,内循环根据cols列表进行迭代。tr代表行,tc代表列。
2、实现代码
from docxtpl import DocxTemplate import os import random import pymysql cur_path = os.path.dirname(__file__) tempfilename = os.path.join(cur_path, 'template', '加法模板.docx') savefilename = os.path.join(cur_path, '加法.docx') tpl = DocxTemplate(tempfilename) list1 = [] def build_data(): for x in range(25): items = {} list2 = [] for y in range(4): num1 = random.randint(0,99) num2 = random.randint(0,99) list2.append(f'{num1}+{num2}=') items.setdefault('cols', list2) list1.append(items) context = { 'title': '100以内加法试卷(100道)', 'tbl_contents': list1, 'header': '加法试卷', 'footer': '2020-09-13', } tpl.render(context) tpl.save(savefilename) if __name__ == "__main__": build_data()
输出结果:
是不是非常有趣呢,能够实现生成试卷的方法有很多,大家可以掌握python与word这其中一种办法,希望可以帮助大家学习掌握。