【办公类-16-07-01】“2023下学期 周计划-美术专用活动室写法”(python 排班表系列)

背景需求:

又到了开学季,新的活动室安排表出炉了。

为了贴在美术活动室的安排表,我需要转换成班级为单位的安排表,便于批量制作周计划。

主要用途——填写周计划中的特色美术活动室(汉字大写)

重点说明:

1、通过观察图片,我发现无论大小美工室,都是前1-14周是2周一个班级,15-19周1周一个班级。

2、需要把周次用汉字表示(需要加上01“一”的数字,这样才不会按照汉字首字母排序)

代码展示:

 # -- coding:utf-8 --
'''
大小美工室,周次合并 中班 7个班级(包含一分园的中1)
作者:阿夏
时间:2024年2月18日'''
import xlrd
import xlwt
from openpyxl import load_workbookclassroom=[]
for a in range(1,8):for c in range(2):classroom .append('中{}班'.format(a))
for a in range(1,6):   classroom .append('中{}班'.format(a))
# print(classroom)
# print(len(classroom))# classroom=[]
for a in range(2,8):for c in range(2):classroom .append('中{}班'.format(a))
for c in range(2):classroom .append('中1班')
for a in range(2,7):   classroom .append('中{}班'.format(a))
print(classroom)
print(len(classroom))
# 38week=[]
for y in range(2):for b1 in ['01一','02二','03三','04四','05五','06六','07七','08八','09九','10十','11十一','12十二','13十三','14十四','15十五','16十六','17十七','18十八','19十九']:week.append('第{}周'.format(b1))
print(week)
print(len(week))
# 38big=[]
for f in classroom:for d in range(len(week)):    if classroom[d]==f:bigbig='{} {}'.format(f,week[d])big.append(bigbig)
big=sorted(set(list(big)))
print(big)
print(len(big))# 在第一周前面加上01 ,进行从小到大排序,不加01,会按照一、二的拼音字母排序# ['中1班 第01一周', '中1班 第02二周', '中1班 第13十三周', '中1班 第14十四周', '中1班 第15十五周', '中2班 第01一周', '中2班 第02二周', '中2班 第03三周', '中2班 第04四周', '中2班 第15十五周', '中2班 第16十六周', '中3班 第03三周', '中3班 第04四周', '中3班 第05五周', '中3班 第06六周', '中3班 第16十六周', '中3班 第17十七周', '中4班 第05五周', '中4班 第06六周', '中4班 第07七周', '中4班 第08八周', '中4班 第17十七周', '中4班 第18十八周', '中5班 第07七周', '中5班 第08八周', '中5班 第09九周', '中5班 第10十周', '中5班 第18十八周', '中5班 第19十九周', '中6班 第09九周', '中6班 第10十周', '中6班 第11十一周', '中6班 第12十二周', 
# '中6班 第19十九周', '中7班 第11十一周', '中7班 第12十二周', '中7班 第13十三周', '中7班 第14十四周']k=[]
kk=[]
for g in classroom:k.clear()for x in range(len(big)):# print(big[x])if big[x][:3]==g:# if big[x][:3]==g:# print(big[x][3:])if len(big[x])==10:                #    第十七周 一共有10个字符k.append(big[x][7:9]) # 汉字# k.append(big[x][5:7]) # 数字else:k.append(big[x][7:8]) # 汉字# k.append(big[x][6:7]) # 数字print(k)result = '、'.join(k)print(result)kk.append('大小美工室 {} 第{}周“快乐玩色彩”专用活动室'.format(g,result))kk=sorted(set(list(kk)))
print(kk)print(len(kk))# ['大小美工室 中1班 第一、二、十三、十四、十五周', '大小美工室 中2班 第一、二、三、四、十五、十六周', '大小美工室 中3班 第三、四、五、六、十六、十七周', '大小美工室 中4班 第五、六、七、八、十七、十八周', '大 
# 小美工室 中5班 第七、八、九、十、十八、十九周', '大小美工室 中6班 第九、十、十一、十二、十九周', '大小美工室 中7班 第十一、十二、十三、十四周']# ['大小美工室 中1班,第01、02、13、14、15周', '大小美工室 中2班,第01、02、03、04、15、16周', '大小美工室 中3班,第03、04、05、06、16、17周', '大小美工室 中4班,第05、06、07、08、17、18周', '大小美工室 中5班,第07、08、09、10、18、19周', '大小美工室 中6班,第09、10、11、12、19周', '大小美工室 中7班,第11、12、13、14周']for z in kk:print(z)# 汉字版本
# 大小美工室 中1班 第一、二、十三、十四、十五周”快乐玩色彩“专用活动室
# 大小美工室 中2班 第一、二、三、四、十五、十六周”快乐玩色彩“专用活动室
# 大小美工室 中3班 第三、四、五、六、十六、十七周”快乐玩色彩“专用活动室
# 大小美工室 中4班 第五、六、七、八、十七、十八周”快乐玩色彩“专用活动室
# 大小美工室 中5班 第七、八、九、十、十八、十九周”快乐玩色彩“专用活动室
# 大小美工室 中6班 第九、十、十一、十二、十九周”快乐玩色彩“专用活动室
# 大小美工室 中7班 第十一、十二、十三、十四周”快乐玩色彩“专用活动室#  数字版本   
# 大小美工室 中1班 第1、2、13、14、15周”快乐玩色彩“专用活动室
# 大小美工室 中2班 第1、2、3、4、15、16周”快乐玩色彩“专用活动室
# 大小美工室 中3班 第3、4、5、6、16、17周”快乐玩色彩“专用活动室
# 大小美工室 中4班 第5、6、7、8、17、18周”快乐玩色彩“专用活动室
# 大小美工室 中5班 第7、8、9、0、18、19周”快乐玩色彩“专用活动室
# 大小美工室 中6班 第9、0、11、12、19周”快乐玩色彩“专用活动室
# 大小美工室 中7班 第11、12、13、14周”快乐玩色彩“专用活动室print('---------第4步:xls写入)------') 
workbook = xlwt.Workbook()# 新建xls工作簿
sheet = workbook.add_sheet("Sheet")# 新建xls工作簿的工作表的名字是sheet # 第0列 写入“第1周、第2周、第3周……第21周weeks=['内容','班级','快乐玩色彩”专用活动室汉字写法']
week = len(weeks) col=0
for d in range(0, len(weeks)):sheet.write(0,col,weeks[d])         # 因为只有一行,所以就用有两种写法(enumerate和这种)col+= 1  # 第B2开始写入 活动室内容
row = 1     # 第2行
for i in range(len(kk)):         # 遍历21组[]的总数sheet.write(row,0,kk[i][:5])    #  '大小美工室'sheet.write(row,1,kk[i][6:9])    #  '中X班'sheet.write(row,2,kk[i][10:])#  第一、二、十三、十四、十五周”快乐玩色彩“专用活动室row += 1   print('---------第5步:xls保存N份工作簿(每份一页)------')             
# try:
workbook.save(r"C:\Users\jg2yXRZ\OneDrive\桌面\周计划\中班专用活动室汉字写法.xls")    # 新建保存 只能xls
print('计划生成成功')

运行结果

# 汉字版本
# 大小美工室 中1班 第一、二、十三、十四、十五周”快乐玩色彩“专用活动室
# 大小美工室 中2班 第一、二、三、四、十五、十六周”快乐玩色彩“专用活动室
# 大小美工室 中3班 第三、四、五、六、十六、十七周”快乐玩色彩“专用活动室
# 大小美工室 中4班 第五、六、七、八、十七、十八周”快乐玩色彩“专用活动室
# 大小美工室 中5班 第七、八、九、十、十八、十九周”快乐玩色彩“专用活动室
# 大小美工室 中6班 第九、十、十一、十二、十九周”快乐玩色彩“专用活动室
# 大小美工室 中7班 第十一、十二、十三、十四周”快乐玩色彩“专用活动室
    
#  数字版本   


# 大小美工室 中1班 第1、2、13、14、15周”快乐玩色彩“专用活动室
# 大小美工室 中2班 第1、2、3、4、15、16周”快乐玩色彩“专用活动室
# 大小美工室 中3班 第3、4、5、6、16、17周”快乐玩色彩“专用活动室
# 大小美工室 中4班 第5、6、7、8、17、18周”快乐玩色彩“专用活动室
# 大小美工室 中5班 第7、8、9、0、18、19周”快乐玩色彩“专用活动室
# 大小美工室 中6班 第9、0、11、12、19周”快乐玩色彩“专用活动室
# 大小美工室 中7班 第11、12、13、14周”快乐玩色彩“专用活动室。

以中4班为例

最后结果: 

大小美工室 中4班 第五、六、七、八、十七、十八周”快乐玩色彩“专用活动室

最后保存在EXCEL里,便于老师们直接复制

虽然只是这么一个小小的合并说明,但是代码也写的很长很长。

-----------------------------------------------------------------------------------------------------

同理,制作大班的大小美工室

大班和中班一样都是7个班级,所以结果完全相似

把中变成大、把包保存文件的名字和位置进行修改

 # -- coding:utf-8 --
'''
大小美工室,周次合并 大班7个班级
作者:阿霞
时间:2024年2月18日'''
import xlrd
import xlwt
from openpyxl import load_workbookclassroom=[]
for a in range(1,8):for c in range(2):classroom .append('大{}班'.format(a))
for a in range(1,6):   classroom .append('大{}班'.format(a))
# print(classroom)
# print(len(classroom))# classroom=[]
for a in range(2,8):for c in range(2):classroom .append('大{}班'.format(a))
for c in range(2):classroom .append('大1班')
for a in range(2,7):   classroom .append('大{}班'.format(a))
print(classroom)
print(len(classroom))
# 38week=[]
for y in range(2):for b1 in ['01一','02二','03三','04四','05五','06六','07七','08八','09九','10十','11十一','12十二','13十三','14十四','15十五','16十六','17十七','18十八','19十九']:week.append('第{}周'.format(b1))
print(week)
print(len(week))
# # 38big=[]
for f in classroom:for d in range(len(week)):    if classroom[d]==f:bigbig='{} {}'.format(f,week[d])big.append(bigbig)
big=sorted(set(list(big)))
print(big)
print(len(big))# 在第一周前面加上01 ,进行从小到大排序,不加01,会按照一、二的拼音字母排序# ['中1班 第01一周', '中1班 第02二周', '中1班 第13十三周', '中1班 第14十四周', '中1班 第15十五周', '中2班 第01一周', '中2班 第02二周', '中2班 第03三周', '中2班 第04四周', '中2班 第15十五周', '中2班 第16十六周', '中3班 第03三周', '中3班 第04四周', '中3班 第05五周', '中3班 第06六周', '中3班 第16十六周', '中3班 第17十七周', '中4班 第05五周', '中4班 第06六周', '中4班 第07七周', '中4班 第08八周', '中4班 第17十七周', '中4班 第18十八周', '中5班 第07七周', '中5班 第08八周', '中5班 第09九周', '中5班 第10十周', '中5班 第18十八周', '中5班 第19十九周', '中6班 第09九周', '中6班 第10十周', '中6班 第11十一周', '中6班 第12十二周', 
# '中6班 第19十九周', '中7班 第11十一周', '中7班 第12十二周', '中7班 第13十三周', '中7班 第14十四周']k=[]
kk=[]
for g in classroom:k.clear()for x in range(len(big)):# print(big[x])if big[x][:3]==g:# if big[x][:3]==g:# print(big[x][3:])if len(big[x])==10:                #    第十七周 一共有10个字符k.append(big[x][7:9]) # 汉字# k.append(big[x][5:7]) # 数字else:k.append(big[x][7:8]) # 汉字# k.append(big[x][6:7]) # 数字print(k)result = '、'.join(k)print(result)kk.append('大小美工室 {} 第{}周“快乐玩色彩”专用活动室'.format(g,result))kk=sorted(set(list(kk)))
print(kk)print(len(kk))# ['大小美工室 中1班 第一、二、十三、十四、十五周', '大小美工室 中2班 第一、二、三、四、十五、十六周', '大小美工室 中3班 第三、四、五、六、十六、十七周', '大小美工室 中4班 第五、六、七、八、十七、十八周', '大 
# 小美工室 中5班 第七、八、九、十、十八、十九周', '大小美工室 中6班 第九、十、十一、十二、十九周', '大小美工室 中7班 第十一、十二、十三、十四周']# ['大小美工室 中1班,第01、02、13、14、15周', '大小美工室 中2班,第01、02、03、04、15、16周', '大小美工室 中3班,第03、04、05、06、16、17周', '大小美工室 中4班,第05、06、07、08、17、18周', '大小美工室 中5班,第07、08、09、10、18、19周', '大小美工室 中6班,第09、10、11、12、19周', '大小美工室 中7班,第11、12、13、14周']for z in kk:print(z)# 汉字版本
# 大小美工室 中1班 第一、二、十三、十四、十五周”快乐玩色彩“专用活动室
# 大小美工室 中2班 第一、二、三、四、十五、十六周”快乐玩色彩“专用活动室
# 大小美工室 中3班 第三、四、五、六、十六、十七周”快乐玩色彩“专用活动室
# 大小美工室 中4班 第五、六、七、八、十七、十八周”快乐玩色彩“专用活动室
# 大小美工室 中5班 第七、八、九、十、十八、十九周”快乐玩色彩“专用活动室
# 大小美工室 中6班 第九、十、十一、十二、十九周”快乐玩色彩“专用活动室
# 大小美工室 中7班 第十一、十二、十三、十四周”快乐玩色彩“专用活动室#  数字版本   
# 大小美工室 中1班 第1、2、13、14、15周”快乐玩色彩“专用活动室
# 大小美工室 中2班 第1、2、3、4、15、16周”快乐玩色彩“专用活动室
# 大小美工室 中3班 第3、4、5、6、16、17周”快乐玩色彩“专用活动室
# 大小美工室 中4班 第5、6、7、8、17、18周”快乐玩色彩“专用活动室
# 大小美工室 中5班 第7、8、9、0、18、19周”快乐玩色彩“专用活动室
# 大小美工室 中6班 第9、0、11、12、19周”快乐玩色彩“专用活动室
# 大小美工室 中7班 第11、12、13、14周”快乐玩色彩“专用活动室print('---------第4步:xls写入)------') 
workbook = xlwt.Workbook()# 新建xls工作簿
sheet = workbook.add_sheet("Sheet")# 新建xls工作簿的工作表的名字是sheet # 第0列 写入“第1周、第2周、第3周……第21周weeks=['内容','班级','快乐玩色彩”专用活动室汉字写法']
week = len(weeks) col=0
for d in range(0, len(weeks)):sheet.write(0,col,weeks[d])         # 因为只有一行,所以就用有两种写法(enumerate和这种)col+= 1  # 第B2开始写入 活动室内容
row = 1     # 第2行
for i in range(len(kk)):         # 遍历21组[]的总数sheet.write(row,0,kk[i][:5])    #  '大小美工室'sheet.write(row,1,kk[i][6:9])    #  '中X班'sheet.write(row,2,kk[i][10:])#  第一、二、十三、十四、十五周”快乐玩色彩“专用活动室row += 1   print('---------第5步:xls保存N份工作簿(每份一页)------')             
# try:
workbook.save(r"C:\Users\jg2yXRZ\OneDrive\桌面\周计划\大班\03贴周计划-专用活动室周次汉字.xls")    # 新建保存 只能xls
print('计划生成成功')

大班7个班级和中班7个班级完全相同

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Maven私服搭建Nexus3

第一部分:仓库部署 下载地址:https://help.sonatype.com/en/download.html 备用下载链接,部分已经失效了 解压后会有两个文件夹: nexus-3.20.1-01 sonatype-work 访问地址配置路径 \nexus-3.20.1-01\bin\nexus.vmoptions -Xms1…

mac 安装H3C iNode + accessClient mac版

一、下载安装 官网下载地址 https://www.h3c.com/cn/Service/Document_Software/Software_Download/IP_Management/ 可以使用文末参考博文中的账号 yx800 密码 01230123登录下载 选择版本 下载 下载 H3C_iNode_PC_7.3_E0626.zip 文件后,解压下载到的PC端压缩包…

【设计模式】01-装饰器模式Decorator

作用:在不修改对象外观和功能的情况下添加或者删除对象功能,即给一个对象动态附加职能 装饰器模式主要包含以下角色。 抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体构件&#xff08…

静态时序分析:保持时间分析

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在静态时序分析中,保持时间检查约束了触发器时钟引脚(时钟路径)和输入数据引脚(数据路径)之间的时序关…

ArcgisForJS如何访问Arcgis Server?

文章目录 0.引言1.准备ArcGIS相关工具2.创建含有ArcSDE地理数据库的MXD文件3.注册ArcSDE地理数据库4.发布数据到Arcgis Server5.ArcgisForJS访问ArcGIS Server数据 0.引言 ArcGIS API for JavaScript 是一个用于在Web和移动应用程序中创建交互式地图和地理空间分析应用的库。它…

量子加密机的工作原理是什么

量子加密机,作为现代加密技术的一大飞跃,正逐渐成为信息安全领域的研究热点。与传统的加密方法相比,量子加密技术以其独特的优势,为信息安全提供了更为坚实的保障。 量子加密的核心在于利用量子力学的特性,尤其是量子纠…

【电子书】计算机课程

资料 wx:1945423050 个人整理了一些互联网电子书 计算机课程 Netty权威指南(第2版).epubSharePoint Server 2016 IT Pro 部署指南.epubTensorFlow自然语言处理.epubWebGIS之OpenLayers全面解析.epub从Paxos到Zookeeper分布式一致性原理与实践…

开篇:通过 state 阐述 React 渲染

前段时间开始着手React项目的开发,关于React的一些思想也有了一些体会(尤其是同vue之间的差异),特梳理&总结相关内容,便于理解。 ✓ 🇨🇳 开篇:通过 state 阐述 React 渲染 说在…

Java SE 入门到精通—基础语法【Java】

敲重点! 本篇讲述了比较重要的基础,是必须要掌握的 1.程序入口 在Java中,main方法是程序的入口点,是JVM(Java虚拟机)执行Java应用程序的起始点。 main方法的方法签名必须遵循下面规范: publ…

游戏配置二级缓存一致性问题解决方案

游戏服务器进程在启动的时候,一般会把所有策划配置数据加载到内存里,将主键以及对应的记录存放在一个HashMap容器里,这称为一级缓存。部分功能可能还需要缓存其他数据,这些称为二级缓存。举个例子,对于如下的玩家升级表…

电脑wifi丢失修复

当你打开电脑突然发现wifi功能不见了,可以先查看一下网卡的状态 在控制面板中找到设备管理器,打开就能找到网络适配器, 我这里是修复过的,wifi丢失后这里可能会显示WALN是丢失的,其他项显示黄色感叹号。 如何修复呢…

跳表是一种什么样的数据结构

跳表是有序集合的底层数据结构,它其实是链表的一种进化体。正常链表是一个接着一个用指针连起来的,但这样查找效率低只有O(n),为了解决这个问题,提出了跳表,实际上就是增加了高级索引。朴素的跳表指针是单向的并且元素…

第十八章 Redis的使用

文章目录 1. Redis安装2. Redis的使用命令3. python使用redis 1. Redis安装 链接:https://pan.baidu.com/s/1EIGLFjDRxWyy1bU9Hwr_dw?pwdoloh 提取码:oloh 添加环境变量 Redis 启动 在命令行输入:redis-server 命令 设置redis数据库的…

【Vuforia+Unity】AR04-地面、桌面平面识别功能

不论你是否曾有过相关经验,只要跟随本文的步骤,你就可以成功地创建你自己的AR应用。 官方教程Ground Plane in Unity | Vuforia Library 这个功能很棒,但是要求也很不友好,只能支持部分移动设备,具体清单如下&#xf…

【PX4SimulinkGazebo联合仿真】在Simulink中使用ROS2控制无人机进入Offboard模式起飞悬停并在Gazebo中可视化

在Simulink中使用ROS2控制无人机进入Offboard模式起飞悬停并在Gazebo中可视化 系统架构Matlab官方例程Control a Simulated UAV Using ROS 2 and PX4 Bridge运行所需的环境配置PX4&Simulink&Gazebo联合仿真实现方法建立Simulink模型并完成基本配置整体框架各子系统实现…

4.网络游戏逆向分析与漏洞攻防-游戏启动流程漏洞-模拟游戏登陆器启动游戏并且完成注入

内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏启动流程的分析 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:bcf7559184863febdcad819e48aaacad9f25d633 代码下…

写一份简单的产品说明书:语言和表达技巧

在当今竞争激烈的市场环境中,一个好的产品说明书对于产品的销售和推广起着至关重要的作用。无论是软件、电子产品还是日用品,一份简洁明了、语言精准的产品说明书能够有效地传达产品的特点和使用方法,吸引消费者的注意力并建立信任感。接下来…

计网 - 域名解析的工作流程

文章目录 Pre引言1. DNS是什么2. 域名结构3. 域名解析的工作流程4. 常见的DNS记录类型5. DNS安全6. 未来的发展趋势 Pre 计网 - DNS 域名解析系统 引言 在我们日常使用互联网时,经常会输入各种域名来访问网站、发送电子邮件或连接其他网络服务。然而,我…

JS知识点学习

构造函数 构造函数语法: 大写字母开头的函数创建构造函数。 // 1.创建构造函数 function Pig(name) { this.name name } // 2. new关键字调用函数 // new Pig(佩奇) // 接受创建的对象 const peppa new Pig(佩奇) console.log(peppa) // {name:佩奇} …

微服务篇之监控

一、为什么要监控 1.问题定位 假设客户端查询一些东西的时候,需要经过网关,然后服务A调用服务H,服务H调用K,服务K调用MySQL,当查询不出来的时候,我们不能快速定位到底是哪个服务的问题,这就需要…