
每学期的周计划制作模板都会调整
开学在即,组长发了新的运动、游戏、个别化安排表

今年的规则是
1,运动从一周五个项目变成了一个项目
2、游戏从一周五个项目变成了一个项目。
3、个别化-美工室轮到的周次(一学期大概有4周),个别化内容需要写“美术材料”
4、个别化-图书和探索室写法不变。不玩“美工”的周次,就是图书和探索(每个都是固定的两天)

我根据周计划模板,把内容分类编号

然后就对每个项目进行批量制作

一、分散运动
要求:

本次我设计的思路是,
1、做一个列表25个元素,场地1、2、3、4、5、场地2、3、4、5、1、场地3、4、5、1、2、场地4、5、1、2、3、场地5、1、2、3、4,然后复制4次。

2、班级A列是中2、2、2、2、2、中3、3、3、3、3
3、周次B列是第1、2、3、4、5周、第1、2、3、4、5周
4、场地做成1列(以前都是5列),场地1、2、3、4、5、场地2、3、4、5、1

代码展示:
'''
目的:2024年2月中班总部分散运动场地,每星期只有一条(各班滚动排)
(一周一次,就不用考虑节假日了)
作者:阿夏、星火讯飞
时间:2024年2月12日15:30
'''
import sys
import random
import xlrd
import xlwt
from openpyxl import load_workbook
import time
import os, shutil
# 一共20周
w = 20
# 五周一循环
xz = 5
# 循环次数,多一点
y = int(w / xz)
print('---------第1步:把8个运动场地循环21次(105元素组成的列表)------')
# 本学期:总园中班只有5个
gradenum = ['2', '3', '4', '5', '6']
path = r"C:\Users\jg2yXRZ\OneDrive\桌面\202502 中班4类活动批量"
# 新建一个”装N份word和PDF“的文件夹
sport = []
classroom = []
week = []
# 这里是8个运动场地,因为后面有递进,所以把最后一个 ,放到01前面,这样摆放后面才会正确)
sportall = [
'场地1(主要材料:平衡车、三轮车、自行车、木桥等)',
'场地2(主要材料:竹梯、三脚架、长凳、轮胎、安全垫等)',
'场地3(主要材料:各类球、箩筐、百变迷宫架、马甲等)',
'场地4(主要材料:轮胎、跨栏、锣鼓、接力棒等)',
'场地5(主要材料:弹力棉球、吸盘球、滑滑梯、爬笼等)',
]
# sport=[1,2,3,4,5]
# 规律是,第一组12345,第二组23451 第三组34512 第四组45123,第五组51234
ss = sportall * 10
# radenum的长度=5,生成了25周 5周一循环,
for x in range(y): # 4
# # 场地
for i in range(len(gradenum)):
# 5个班级5周循环
start_index = i
end_index = i + 5
extracted_elements = ss[start_index:end_index]
print(f"第{i + 1}次提取的元素: {extracted_elements}")
for ww in extracted_elements:
sport.append(ww) # print(sport)
# print(len(sport))
# 班级名称,连续出现5次
for i in range(len(gradenum)):
for oo in range(xz):
classroom.append(f'中{gradenum[i]}班')
print(classroom)
print(len(classroom))
# 周次名称,连续出现5次
# for x in range(5): # 4
for o in range(xz): # x=5
for l in range(x * xz + 1, x * xz + xz + 1):
ww = f'第{l:02}周'
week.append(ww)
print(week)
print(len(week))
import openpyxl
from openpyxl import Workbook
# 创建一个工作簿对象
wb = Workbook()
ws = wb.active
ws.title = "总表"
# 在A1写入“班级”,B1写入“周次”,C1写入“运动场地”
ws['A1'] = '班级'
ws['B1'] = '周次'
ws['C1'] = '运动场地'
# 从A2开始写入classroom,B2开始写入week,C2开始写入sport
for i in range(len(classroom)):
ws[f'A{i + 2}'] = classroom[i]
ws[f'B{i + 2}'] = week[i]
ws[f'C{i + 2}'] = sport[i]
# 将总表内容按照班级拆分到同一个工作簿的不同工作表中,标签为“班级+分散运动安排”
for grade in gradenum:
ws_new = wb.create_sheet(title=f'中{grade}班分散运动安排')
ws_new['A1'] = '班级'
ws_new['B1'] = '周次'
ws_new['C1'] = '运动场地'
row = 2
for i in range(len(classroom)):
if classroom[i].startswith(f'中{grade}'):
ws_new[f'A{row}'] = classroom[i]
ws_new[f'B{row}'] = week[i]
ws_new[f'C{row}'] = sport[i]
row += 1
# 保存到文件
output_file = path + r'\01 中班分散运动..xlsx'
wb.save(output_file)
print(f"Excel文件已保存到: {output_file}")
把生成xlsx存到单独文件夹里

1、总表内容
2、各班表格


做出来的场地我都放在C列

二、户外游戏
要求:

分析:
1、游戏的场地写法和运动相同,复制运动的代码,微调
2、正好5个班,20周,所以正好复制4次就可以了

3、游戏需要加上场地

代码展示
'''
目的:2024年2月中班总部户外游戏场地,每星期只有一条(各班滚动排)
(一周一次,就不用考虑节假日了)
作者:阿夏、星火讯飞
时间:2024年2月29日15:30
'''
import sys
import random
import xlrd
import xlwt
from openpyxl import load_workbook
import time
import os, shutil
# 一共20周
w = 20
# 五周一循环
xz = 5
# 循环次数,多一点
y = int(w / xz)
print('---------第1步:把8个游戏场地循环21次(105元素组成的列表)------')
# 本学期:总园中班只有5个
gradenum = ['2', '3', '4', '5', '6']
path = r"C:\Users\jg2yXRZ\OneDrive\桌面\202502 中班4类活动批量"
# 新建一个”装N份word和PDF“的文件夹
game = []
classroom = []
week = []
# 这里是8个游戏场地,因为后面有递进,所以把最后一个 ,放到01前面,这样摆放后面才会正确)
gameall = [
'角色游戏1——南侧草坪东',
'角色游戏2——南侧草坪西',
'表演游戏——绿操场西',
'沙水游戏——中庭沙水区',
'建构游戏——绿操场东',
]
# game=[1,2,3,4,5]
# 规律是,第一组12345,第二组23451 第三组34512 第四组45123,第五组51234
ss = gameall * 10
# radenum的长度=5,生成了25周 5周一循环,
for x in range(y): # 4
# # 场地
for i in range(len(gradenum)):
# 5个班级5周循环
start_index = i
end_index = i + 5
extracted_elements = ss[start_index:end_index]
print(f"第{i + 1}次提取的元素: {extracted_elements}")
for ww in extracted_elements:
game.append(ww) # print(game)
# print(len(game))
# 班级名称,连续出现5次
for i in range(len(gradenum)):
for oo in range(xz):
classroom.append(f'中{gradenum[i]}班')
print(classroom)
print(len(classroom))
# 周次名称,连续出现5次
# for x in range(5): # 4
for o in range(xz): # x=5
for l in range(x * xz + 1, x * xz + xz + 1):
ww = f'第{l:02}周'
week.append(ww)
print(week)
print(len(week))
import openpyxl
from openpyxl import Workbook
# 创建一个工作簿对象
wb = Workbook()
ws = wb.active
ws.title = "总表"
# 在A1写入“班级”,B1写入“周次”,C1写入“游戏场地”
ws['A1'] = '班级'
ws['B1'] = '周次'
ws['C1'] = '游戏场地'
# 从A2开始写入classroom,B2开始写入week,C2开始写入game
for i in range(len(classroom)):
ws[f'A{i + 2}'] = classroom[i]
ws[f'B{i + 2}'] = week[i]
ws[f'C{i + 2}'] = game[i]
# 将总表内容按照班级拆分到同一个工作簿的不同工作表中,标签为“班级+分散游戏安排”
for grade in gradenum:
ws_new = wb.create_sheet(title=f'中{grade}班分散游戏安排')
ws_new['A1'] = '班级'
ws_new['B1'] = '周次'
ws_new['C1'] = '游戏场地'
row = 2
for i in range(len(classroom)):
if classroom[i].startswith(f'中{grade}'):
ws_new[f'A{row}'] = classroom[i]
ws_new[f'B{row}'] = week[i]
ws_new[f'C{row}'] = game[i]
row += 1
# 保存到文件
output_file = path + r'\02 中班户外游戏..xlsx'
wb.save(output_file)
print(f"Excel文件已保存到: {output_file}")

1、总表