【办公类-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_workbook

classroom=[]
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))
# 38

week=[]
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))
# 38

big=[]
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_workbook

classroom=[]
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))
# 38

week=[]
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))
# # 38

big=[]
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个班级完全相同

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值