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

背景需求:

已经制作了本学期的中4班自主游戏观察记录表

【办公类-16-10-01】“2023下学期 中4班 自主游戏观察记录(python 排班表系列)-CSDN博客文章浏览阅读398次,点赞10次,收藏3次。【办公类-16-10-01】“2023下学期 中4班 自主游戏观察记录(python 排班表系列)https://blog.csdn.net/reasonsummer/article/details/136262898

我想给中2、中3、中4、中5、中6、中7班都制作一份《自主游戏观察记录表》

参考《中班游戏场地周次安排表(含“场地”版)》

【办公类-16-07-04】合并版“2023下学期 中班户外游戏(有场地和无场地版,一周一次)”(python 排班表系列)-CSDN博客文章浏览阅读953次,点赞18次,收藏9次。【办公类-16-07-04】合并版“2023下学期 中班户外游戏(有场地和无场地版,一周一次)”(python 排班表系列)https://blog.csdn.net/reasonsummer/article/details/136196822

思路:

循环读取《02贴墙版-中班户外游戏(含场地,有标题).xlsx》的班级标签,,把每个标签里面的A列和C列内容读取出来,写入“数据.xlsx“”

我不想去搜索班主任的姓名了,就用A和B替代,班主任使用表格时,使用查找替换功能,将A B分别变成2位班主任的名字

代码展示:


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

# 

# print('----------第0步:读取班级标签,读取指定内容,写入EXCEL----')

from openpyxl import load_workbook

title=[]
for x in range(2,8):
    title .append('中{}班户外游戏'.format(x))

for y in range(len(title)):
    # 打开1.xlsx文件
    wb1 = load_workbook(r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\01自主游戏观察记录模板制作\02贴墙版-中班户外游戏(含场地,有标题).xlsx')

    # 选择'Sheet2'标签
    # sheet1 = wb1['中2班户外游戏']
    sheet1 = wb1['{}'.format(title[y])]

    # 创建一个新的工作簿2.xlsx
    wb2 = load_workbook(r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\01自主游戏观察记录模板制作\数据.xlsx')

    # 选择默认的活动工作表
    sheet2 = wb2.active

    # 读取第A1:A13的内容,并保存到B1:B13
    for i in range(3, 22):
        # 项目
        value = sheet1.cell(row=i, column=3).value    # C列=3  第三行
        sheet2.cell(row=i-1, column=6).value = value     #  第二张的F列2行

        # 班级
        value = sheet1.cell(row=i, column=1).value    # A列=3 中2班
        v1=value[:1]     # 只要“中"
        v2=value[1:2]    # 只要“2"

        sheet2.cell(row=i-1, column=2).value = v1   
        sheet2.cell(row=i-1, column=3).value = v2   

    # 保存修改后的2.xlsx文件
    wb2.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\周计划\01自主游戏观察记录模板制作\数据.xlsx')

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

终端循环了6次,中2-中7班

素材及结果展示

举例:中2班

举例:中5班

感悟:

读取EXCEL标签,批量制作{{}}的xlsx数据和word模板

可以快速生成班本化的各类资料模板,让文本格式统一,减少因为格式、内容被迫返工的问题。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python零基础安装教程(包含各种安装方案)以及PyCharm安装步骤

文章目录 安装方案介绍安装Python解释器安装Pycharm安装Anaconda方案参考 安装方案介绍 方案1:只安装Python解释器(适合小型开发) 方案2:安装集成开发环境Anaconda(集成了Spyder,JupyterNotebook等编辑器&…

代码随想录算法训练营Day27 || leetCode 93.复原IP地址 || 78.子集 || 90.子集II

93.复原IP地址 与分割回文串的代码相近&#xff0c;先写出判断函数&#xff0c;之后以判断结果为标准&#xff0c;执行回溯的代码。此题中使用点的个数来决定回溯的终止&#xff0c;需要学习一下。 class Solution { private:vector<string> result;bool isValid(const …

从事游戏开发类职业岗位的任职资格

游戏开发工程师主要是指致力于游戏总体设计&#xff0c;负责游戏开发和维护工具的设计与开发工作。并配合主程序完成游戏架构的设计&#xff0c;与其他技术支持的工作。从事这项工作&#xff0c;需要掌握的知识和技能非常多&#xff0c;下面就跟着小编来一起了解一下吧。 1、任…

高级RAG:使用RAGAs + LlamaIndex进行RAG评估,包括原理、图和代码

原文地址&#xff1a;Using RAGAs LlamaIndex for RAG evaluation 2024 年 2 月 5 日 如果您已经为实际的业务系统开发了检索增强生成&#xff08;Retrieval Augmented Generation, RAG&#xff09;应用程序&#xff0c;那么您可能会关心它的有效性。换句话说&#xff0c;您…

Vulhub 靶场训练 DC-8解析

一、环境搭建 kali的IP地址&#xff1a;192.168.200.14 DC-8的IP地址&#xff1a;192.168.200.13&#xff08;一个flag&#xff09; 靶机和攻击机处于同一个网络方式&#xff1a;nat或桥接 若出现开机错误&#xff0c;适当将dc的兼容版本改低&#xff0c;我的vmware workst…

【黑马程序员】1、TypeScript介绍_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址&#xff1a;【黑马程序员前端TypeScript教程&#xff0c;TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、TypeScript介绍 1.1 TypeScript是什…

Dear ImGui的UE5.3集成实践

Dear ImGui一直较为火热&#xff0c;这是一个调试使用并且可以响应快速迭代的Gui库&#xff0c;甚至可以做到在任何代码块中调用API即显示。如果你想更多的了解一下可访问其官方网站&#xff1a;https://www.dearimgui.org/ 那么本文就来在UE5中尝试踩坑使用它。 UE4.26版本 …

什么是抖音视频下载软件|视频批量下载|爬虫工具

抖音视频抓取软件是一款方便用户获取抖音平台上视频内容的工具。它具备以下主要功能&#xff1a; 批量视频提取&#xff1a;用户可以输入关键词&#xff0c;软件将自动搜索抖音平台上与关键词相关的视频&#xff0c;并将它们列出供用户选择和下载。用户可以随时停止搜索和下载过…

猫头虎分享已解决Bug || 语法错误:SyntaxError: Unexpected token < in JSON at position 0

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

一文看懂大模型 Sora 技术推演

sora 一出&#xff0c;引起社会各界广泛关注。中美AI的差距进一步扩大&#xff0c;中美人才培养体系的差距等等言论&#xff0c;甚嚣尘上。 其实文生视频领域&#xff0c;华人学者和产业界的参与度还是非常高的。 那么 Sora 到底是谁做的&#xff0c;怎么做的&#xff0c;本篇…

前端工程化面试题 | 16.精选前端工程化高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Matlab/simulink基于MPPT风光储微电网建模仿真(持续更新)

​ 2.Matlab/simulink基于MPPT风光储微电网建模仿真&#xff08;持续更新&#xff09; 1.Matlab/simulink基于vsg的风光储调频系统建模仿真&#xff08;持续更新&#xff09;

maven的聚合和生命周期

什么是maven的聚合呢?就是父类直接将子类项目一起统一打包安装统一maven的生命周期 1.maven的生命周期 2.在父亲类pom文件指定需要打包的项目 实例代码: <!--maven的聚合 通过modules指定需要打包的maven项目--> <modules><module>../ithema-jopo</m…

【2024.02.22】定时执行专家 V7.0 发布 - TimingExecutor V7.0 Release - 龙年春节重大更新版本

目录 ▉ 新版本 V7.0 下载地址 ▉ V7.0 新功能 ▼2024-02-21 V7.0 - 更新日志▼ ▉ V7.0 新UI设计 ▉ 新版本 V7.0 下载地址 BoomWorks软件的最新版本-CSDN博客文章浏览阅读10w次&#xff0c;点赞9次&#xff0c;收藏41次。▉定时执行专家—毫秒精度、专业级的定时任务执行…

【k8s资源调度--DaemonSet】

1、什么是守护进程 有以下这样一个商品场景&#xff1a; 1、用户在商城查询商品信息&#xff0c;查询商品信息的时候需要登录用户&#xff0c;如果用户想要下单&#xff0c;需要提交到订单服务&#xff0c;最后下单完成后&#xff0c;需要更新仓库的商品数量信息。 2、如果每一…

K线实战分析系列之五:刺透形态——多方反攻信号

K线实战分析系列之五&#xff1a;刺透形态——多方反攻信号 一、刺透形态二、类似刺透形态三、刺透形态的总结 一、刺透形态 阴线在前&#xff0c;阳线在后显示市场曾经跌到了低位&#xff0c;但是在盘中又将价格收回&#xff0c;并且多方收复了前一天大部分的失地 二、类似刺…

用旧版本Matlab训练的 classregtree类的决策树model 在新版Matlab无法使用的解决方法

背景 想把原来r2015a版本的代码升级到r2021b&#xff0c;用2021b运行原来的代码时&#xff0c;报错 搜索发现R2019a中已经去除了classregtree函数和classregtree类 解决方法 新版本的Matlab load(‘TreeModel.mat’)后&#xff0c;查看TreeModel的值 val 分类的决策树1 …

Ubuntu安装中文拼音输入法

目录 1.添加中文语言支持2.安装fcitx输入法框架3.设置fcitx为系统输入法4.安装搜狗输入法5.安装一些搜狗输入法的依赖6.设置输入法7.测试搜狗中文输入法8.测试版本参考资料 1.添加中文语言支持 settings -> region & language -> Manage Installed Languages -> …

【海思新品型号总结】

海思新品如下型号&#xff1a; 1、 Hi3559AV100 pin to pin 老版本&#xff1b; 2、Hi3403V100 4K/60 丝印1&#xff1a;108DC2910 开发包型号SS928V100 不可溯源&#xff1b; 丝印2&#xff1a;GK7608V100 开发包型号SS928V100 可国产化证明 3、Hi3519AV200 芯片丝印&#x…

Maven - 代码混淆proguard-maven-plugin vs 代码加密classfinal

文章目录 proguard-maven-plugin 代码混淆官网地址入门小结 ClassFinal 代码加密介绍Gitee项目模块说明功能特性环境依赖使用说明下载加密maven插件方式无密码模式机器绑定启动加密后的jartomcat下运行加密后的war 版本说明协议声明 classfinal实战工程pom编译打包配置文件运行…