【办公类-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的内容

代码展示:

# -*- 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 = Falsefiles = []
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) #递归删除文件夹,即:删除非空文件夹

终端显示(主要步骤)

生成结果:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/488229.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

赌输了可都是自己的,为什么要去赌?

我先解释一下,无论你怎么发送,即使根本没有受到保护,也有概率完好无损,但为什么要赌这个概率呢? 如果你输了赌注,一切都是你的! 尽自己最大的努力不是更好吗? 1、快递德邦和顺丰&am…

Android 输入法框架简介

每种平台都有自己的输入法框架. GNU/Linux 桌面环境有多种输入法框架, 比如 ibus, fcitx 等. 但是 Android 操作系统只有一种, 是统一提供的输入法框架. 相关链接: 《ibus 源代码阅读 (1)》 https://blog.csdn.net/secext2022/article/details/136099328https://developer.and…

com.alibaba.nacos.api.exception.NacosException: Request nacos server failed

问题描述 安装nacos2.0以上版本,启动报错:com.alibaba.nacos.api.exception.NacosException: Request nacos server failed com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: at com.alibaba.nacos.client.naming.remote.gprc.Nami…

React18源码: schedule任务调度messageChannel

React调度原理(scheduler) 在React运行时中,调度中心(位于scheduler包)是整个React运行时的中枢(其实是心脏),所以理解了scheduler调度,就基本掌握了React的核心React两大循环:从宏…

[深度学习]yolov9+deepsort+pyqt5实现目标追踪

【YOLOv9DeepSORTPyQt5追踪介绍】 随着人工智能技术的飞速发展,目标追踪在视频监控、自动驾驶等领域的应用日益广泛。其中,YOLOv9作为先进的目标检测算法,结合DeepSORT多目标追踪算法和PyQt5图形界面库,能够为用户提供高效、直观…

【Docker】构建pytest-playwright镜像并验证

Dockerfile FROM ubuntu LABEL maintainer "langhuang521l63.com" ENV TZAsia/Shanghai #设置时区 #安装python3依赖与下载安装包 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \&& apt update \&&…

每日一题(寻找奇数,寻找峰值)

寻找奇数_牛客题霸_牛客网 (nowcoder.com) #include <stdio.h> #include<stdlib.h> int main() {int n0;int num0;scanf("%d",&n);int* arr(int*)malloc(sizeof(int)*n);int i0;for(i0;i<n;i){scanf("%d",&arr[i]);//在循环内&…

图片Base64编码解码的优缺点及应用场景分析

title: 图片Base64编码解码的优缺点及应用场景分析 date: 2024/2/24 14:24:37 updated: 2024/2/24 14:24:37 tags: 图片Base64编码解码HTTP请求优化网页性能加载速度安全性缓存机制 随着互联网的迅猛发展&#xff0c;图片在网页和移动应用中的使用越来越广泛。而图片的传输和加…

从0开始python学习-53.python中flask创建简单接口

目录 1. 创建一个简单的请求,没有写方法时默认为get 2. 创建一个get请求 3. 创建一个post请求&#xff0c;默认可以使用params和表单传参 4. 带有参数的post请求 1. 创建一个简单的请求,没有写方法时默认为get from flask import Flask, request# 初始化一个flask的对象 ap…

无人机基础技术,固定翼无人机动力系统技术详解,无人机飞行控制系统技术

推重比选择 推重比&#xff0c;是指无人机发动机推力/拉力与无人机飞行重力之比。该参数是衡量动力系统乃至整机性能的重要参数&#xff0c;很大程度上影响飞行性能。固定翼无人机的动力系统在配置时选择的推重比必须达到或超出设计的推重比。 重量要求 翼载荷是无人机单位面…

Siamrpn论文中文翻译(详细!)

High Performance Visual Tracking with Siamese Region Proposal Network Siamese地区建议网络的高性能视觉跟踪 说明 建议对照siamrpn&#xff08;2018&#xff09;原文阅读&#xff0c;翻译软件翻译出来的效果不好&#xff0c;整体阅读体验不佳&#xff0c;所以我对译文重…

开源免费的NTFS for mac工具mounty

开源免费的NTFS for mac工具mounty 安装依赖 brew install gromgit/fuse/ntfs-3g-macbrew install --cask macfuse安装mounty 如果已经安装macFUSE和ntfs-3g-mac&#xff0c;可以直接点击下载的dmg安装包&#xff0c;安装升级。第一次启动mounty&#xff0c;你需要接受一系列…