使用python操作execl按照学生成绩进行蛇形分班

这篇博客介绍如何利用Python对270多名学生的绩点进行蛇形分班,确保每个班级男女人数和平均成绩均衡。文章提供了一段代码,要求学生数据在Excel中按绩点预先排序。
摘要由CSDN通过智能技术生成

目录

说明

这几天担任助教工作,需要将270多名学生按照绩点蛇形分成24个小班,确保每个班男女人数、平均成绩基本相同。写了好几版,其他忘记保存了,基本功能用如下代码都可以完成。需要事先在execl中按照绩点排好序,当然也可以在代码中实现排序,不过要更麻烦一些。

代码

from openpyxl import load_workbook
#蛇形分班函数
def class_trans(row, class_num):
    if row < class_num:
        return row
    else:
        return class_num*2 - row - 1

wb = load_workbook(filename = 'grade.xlsx',data_only=True)
ws = wb['classone']

# class_num = input('请输入小班数量')
class_num = 24

nograde_male = 0 #没有绩点的男生
nograde_female = 0  #没有绩点的女生
grade_male = 0  #有绩点的男生
grade_female = 0 #有绩点的女生

#为每个小班创建一个sheet
for i in range(int(class_num)):
    wb.create_sheet('class'+str(i))

#为每一个小班创建一个记录人数的数组
list = [1 for col in range(int(class_num))]
print(list)

max_row = ws.max_row
max_column = ws.max_column


#男女独立、蛇形分班
#有绩点的女生
for i in range(2,max_row+1):
    cell = ws
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值