【办公类-16-10-01】“2023下学期 中4班 自主游戏观察记录(python 排班表系列)

背景需求

上学期的周安排里,每班每周的自主游戏会轮到多个不同的内容

因此在每周的自主游戏观察有2次记录,观察的项目可以写不一样的,

如一位老师写沙水游戏,另一位写表演游戏

本学期,中班的自主游戏全部是户外的,并且每班每周5天玩同一个内容。

因此《自主游戏观察记录表》的记录内容就会改变------

1、每周2篇记录都是同一个项目(如都是观察"建构")

2、必须是户外游戏的内容(以前都是室内观察的内容)

为了更好的便于班主任进行游戏观察记录,我想预先就制作一个包含本班轮到的项目和场地的提示说明。

参考资料

【办公类-19-03】办公中的思考------Python批量制作word单元格照片和文字(小照片系列)-CSDN博客文章浏览阅读826次。【办公类-19-03】办公中的思考------Python批量制作word单元格照片和文字(小照片系列)https://blog.csdn.net/reasonsummer/article/details/132747236

素材准备:

一、原始模板示例及需要修改的红色部分

1、删除其中的观察文字部分

2、需要替换的包括:周次、年级、班级号、教师1、教师2、

3、主要补充内容:在游戏观察部分增加"((游戏名称)(游戏场地))",1周内的两次游戏观察内容是一样的

二、自主游戏观察记录模板

1、把相关内容改成{{XXX}}的样式

2、标题2行,所以导致表格延伸到第2页,这个需要反复测试,调整框架,确保每周的格子都在一页上。

三、EXCEL的内容

代码展示:

python 复制代码
 # -*- coding:utf-8 -*- 1 
'''
自主游戏观察记录模板-只有中四班
作者:阿夏
时间:2024年2月23日
'''
# 一、导入相关模块,设定excel所在文件夹和生成word保存的文件夹
from docxtpl import DocxTemplate
import pandas as pd
import os
import time
# 

print('----------第1步:制作路径----')
zpath=os.getcwd()+'\\'
zpath=r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\01自主游戏观察记录模板制作'+'\\'

file_path=zpath+'零时\\'
# print(file_path)
# r'\零时Word'

print('----------第2步:遍历excel,逐个生成word(form.docx是前面的模板)------------')
try:
    os.mkdir(file_path)
except:
    pass

# tpl = DocxTemplate(zpath+'自主游戏观察记录模板.docx')
IDcard = pd.read_excel(zpath+'数据.xlsx')

week=IDcard["week"] 
grade = IDcard["grade"]
number=IDcard["number"]
# str.rstrip()

T1=IDcard["T1"]  # str.rstrip()用于去掉换行符
T2=IDcard["T2"]  # str.rstrip()用于去掉换行符
content=IDcard["content"]  # str.rstrip()用于去掉换行符


# math = autho['math']
# eng = autho['eng']

# 遍历excel行,逐个生成
num = IDcard.shape[0]
for i in range(num):
    context = {
        "week": week[i],
        "grade": grade[i],
        "number": number[i],  
        "T1": T1[i],
        "T2": T2[i],
        "content": content[i],  
    
    }
    tpl = DocxTemplate(zpath+'自主游戏观察记录模板.docx')
    tpl.render(context)
    # tpl.save(file_path+r"\{} 的身份证.docx".format(name[i]))
#
    tpl.save(file_path+"合并{}.docx".format('%02d'%week[i]))


print('----------第3步:doc 文档合并------------') 

# 合并所有Word
import win32com.client as win32
import os
word = win32.gencache.EnsureDispatch('Word.Application')
#启动word对象应用
word.Visible = False


files = []
for filename in os.listdir(file_path):
    filename = os.path.join(file_path,filename)
    files.append(filename)



#新建合并后的文档(使用模板,进行12个文件夹的合并,把12个文件夹的内容贴到已有的模板(包含0.7边、四分栏))
output = word.Documents.Add()


for file in files:
    output.Application.Selection.InsertFile(file)#拼接文档
    #获取合并后文档的内容

doc = output.Range(output.Content.Start, output.Content.End)

# 合并word
lspathall=zpath+'{}({})班自主游戏观察记录(202402-202406).docx'.format(grade[i],number[i])

output.SaveAs(lspathall) #保存
output.Close()

print('----------第4步:删除临时文件夹------------')    
import shutil
shutil.rmtree(file_path) #递归删除文件夹,即:删除非空文件夹

终端显示(主要步骤)

生成结果:

用这样的方法,可以快速生成一份本学期本班专用的《自主游戏观察记录表》。

相关推荐
玩大数据的龙威21 分钟前
农经权二轮延包—各种地块示意图
python·arcgis
ZH154558913123 分钟前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter
belldeep32 分钟前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask
喵手32 分钟前
Python爬虫实战:电商价格监控系统 - 从定时任务到历史趋势分析的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·电商价格监控系统·从定时任务到历史趋势分析·采集结果sqlite存储
喵手1 小时前
Python爬虫实战:京东/淘宝搜索多页爬虫实战 - 从反爬对抗到数据入库的完整工程化方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·京东淘宝页面数据采集·反爬对抗到数据入库·采集结果csv导出
B站_计算机毕业设计之家1 小时前
猫眼电影数据可视化与智能分析平台 | Python Flask框架 Echarts 推荐算法 爬虫 大数据 毕业设计源码
python·机器学习·信息可视化·flask·毕业设计·echarts·推荐算法
PPPPPaPeR.1 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
JaydenAI1 小时前
[拆解LangChain执行引擎] ManagedValue——一种特殊的只读虚拟通道
python·langchain
骇城迷影1 小时前
Makemore 核心面试题大汇总
人工智能·pytorch·python·深度学习·线性回归
长安牧笛1 小时前
反传统学习APP,摒弃固定课程顺序,根据用户做题正确性,学习速度,动态调整课程难度,比如某知识点学不会,自动推荐基础讲解和练习题,学习后再进阶,不搞一刀切。
python·编程语言