实例04—学生花名册Excel文件中随机选人
需求:
由于教学需要,在班级提问环节,经常面临着学生的选择问题,这是当老师的一块心病,于是就多出了越来越多的第三方软件,功能不错,就是需要上传学生花名单,这对保护学生个人隐私很不好,有没有本地的随机选择方法呢?当然有啦,这时Python处理Excel文件的模块openpyxl派上用场了,看我怎么样用它搞定我们的“随机选择学生”。
班级随机提问还需第三方?看我Python来登场
1、用到的知识点:
Python的循环,列表及操作方法,wb对象基本操作,ws范围读写方法等,
2、用到的文件:
班级花名册文件,要求是xlsx扩展名的,如果花名单是xls的可以通过WPS另存为转化一下文件截图如下:(已经脱敏处理),如需要请下载,通过阿里云盘分享,链接如下:
https://www.aliyundrive.com/s/y28xvB5cQJq
脱敏花名册
3、操作思维导图:
操作步骤
4、代码操作编写截图:
随机选择学生代码截图1
随机选择学生代码截图2
give your the code:
from openpyxl import load_workbook
import random
#准备数据
wb = load_workbook('学生花名册.xlsx')
ws = wb.active
student_names = []
#读取花名册学生所在列
#查看花名册知道学生姓名在第B列,从第3行开始,到47行结束
#循环遍历学生姓名
cells = ws['B3:B47']
for row in cells:
for cell in row:
student_names.append(cell.value)
#定义选取函数,默认值为1
def choice(n=1):
return random.sample(student_names,n)
#测试随机选择
print(choice(3))
print(choice(2))
print(choice())
运行结果展示
结果展示
当然,在实际操作环节,班级电脑安装Python环境,不用安装pycharm,把花名册和代码文件放在一个目录中,通过cmd窗口运行就可以。继续关注哦,惊喜不断……