背景需求:
领导发给我一个word版本的“研讨表”:
“随便你做成什么样子,最后能有个二维码给老师们填写反馈就可以了”
我看了看内容,这和我以前做的“闵行区教师信息技术2.0培训作业”完全相同
“OK,我用问卷星收集教师回答,然后把回答一模一样写在”word”里。
领导说:“我不懂,只要最后给我电子稿就行”
需求(一)分析:
准备word和excel
1、问卷星收集:将WORD里面的关键性问题做成问卷星的问题
2、运用{{name}}方式将问卷星下载EXCEL的数据写入word
(1)在word模板里,加入{{XX}}的格子和统一的日期
(2)反馈名单的第一行 中文问题改成英文
(3)代码说明
# -*- coding:utf-8 -*- 1
'''
目的:教研研讨记录反馈表 20231128 XD幼儿园
作者:阿夏
日期:2023年11月28日 13:38
'''
# 一、导入相关模块,设定excel所在文件夹和生成word保存的文件夹
from docxtpl import DocxTemplate
import pandas as pd
import os
import time
#
zpath=os.getcwd()+'\\'
zpath=r'C:\Users\jg2yXRZ\OneDrive\桌面\20231128研讨活动反馈表'+'\\'# 主路径
tpl = DocxTemplate(zpath+'【研讨表】研讨活动反馈表.docx')
IDcard = pd.read_excel(zpath+'反馈名单.xlsx')
number=kindergarden=IDcard["number"]
kindergarden=IDcard["kindergarden"]
name = IDcard["name"]
q1=IDcard["q1"] # str.rstrip()用于去掉换行符
q2=IDcard["q2"] # str.rstrip()用于去掉换行符
q3=IDcard["q3"] # str.rstrip()用于去掉换行符
# 遍历excel行,逐个生成
num = IDcard.shape[0]# 一共有个人
# print(num)
file_path=zpath+r"\20231128鑫都幼儿园研讨活动反馈表_({}份)".format(num)# 一共有2份
# 二、生成文件夹
try:
os.mkdir(file_path)
except:
pass
# 写入信息
for i in range(num):
context = {
"number":number[i],
"kindergarden": kindergarden[i],
"name": name[i],
"q1": q1[i],
"q2": q2[i],
"q3": q3[i],
}
tpl = DocxTemplate(zpath+'【研讨表】研讨活动反馈表.docx')
tpl.render(context)
# 每个人的作业保存在文件夹里
tpl.save(file_path+r"\{}研讨活动反馈表_{}_{}.docx".format('%02d'%number[i],kindergarden[i],name[i]))
终端运行
结论:用{{XX}}插入文字的方法,可以反复调整模板的字体、字号、段间距等,快速满意获得想要的研讨记录表(电子版)
需求(二)分析:
除了电子版的教师个人word研讨表,领导可能还需要的电子稿 就是每个人的回答的合并版——WORD总研研讨记录,这也是可以通过代码快速批量获取的。
样式一:单人合并版
样式二:问题合并版
写出问卷星EXCEL转word的内容(调整格式),可以快速为教研组长们做出日常教研用的电子文本,非常实用。
还没写出来,待续……