当前位置: 首页 > 办公技巧 > 正文

办公自动化期末考试技巧(python处理Excel实战进阶篇day10(处理期末考试学科等级及偏科))

  • 叁碗诸角 叁碗诸角
  • 办公技巧
  • 2023-08-22 11:39:13
  • 0

实例10—快速处理期末考试成绩等级和偏科

模拟场景需求:

全国一盘 棋,贯彻双减工作要求,从三年级开始才进行期末考试,并且不能公布成绩,所以我们采取一致坚持的等级公布方式,ABCDE五个等级,还有简单检测学生是否存在语数偏科现象,当然可以通过Excel进行操作,这里主要是讲解python的第三方库openpyxl的实践问题。

1、用到的知识点:

Python的判断和循环,自定义函数,wb对象基本操作包括创建和保存,cell单元格的读取和写入等。

2、用到的文件:

期末考试成绩单,要求是xlsx扩展名的,非隐私数据

3、代码操作编写截图:

处理等级截图1

处理等级截图2

give your the code:

from openpyxl import Workbook,load_workbook# 等级函数,根据分数返回ABCDE级别def level(grade=0): grade = int(grade) if grade >= 90: ret = 'A' elif grade >= 80: ret = 'B' elif grade >= 70: ret = 'C' elif grade >= 60: ret = 'D' else: ret = 'E' return ret# 简单定义偏科函数def gap(a=0,b=0): var = abs(a-b) if var >= 30: ret = '严重偏科' elif var >= 20: ret = '偏科' elif var >= 10: ret = '稍微偏科' elif var >= 0: ret = '不偏科' return ret# 导入成绩表格wb = load_workbook('total.xlsx')ws = wb.active# 循环处理行for i in range(3,ws.max_row 1): chinese_level = level(ws.cell(i,3).value) # 判断语文等级 ws.cell(i,4).value = chinese_level # 以写返回值的方式写入语文等级 math_level = level(ws.cell(i,5).value) # 判断数学等级 ws.cell(i,6).value = math_level # 同样方式写入数学等级 ws.cell(i,7).value = f"=sum(C{i},E{i})" # 以写入好函数的方式写入总分 # 简单判断是否偏科 ws.cell(i,8).value = gap(ws.cell(i,3).value,ws.cell(i,5).value)wb.save('ok.xlsx')

全自动生成等级结果

今天的例子要活学活用,关键练基础,熟悉python的openpyxl处理表格的思路,愿一路学习一路有你,操作基础已经更新完毕,不懂可以参阅


最新文章