文章目录

  • 环境和所需准备
  • 代码解读
  • 整体代码
  • 运行结果

环境和所需准备

执行这个程序需要安装以下python环境
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

自己先写了个excel的文档,用于测试,内容如下

注意我标红的地方,可以结合代码看看,这里要记得和代码一致不然会报错,由于每个excel文件可以包含很多工作表,这为了标明我们需要的是哪个工作表

代码解读

def Read_Excel(Excelname,sheet):'''作用:读取excel表格'''excel = openpyxl.load_workbook(filename=Excelname, read_only=True)# print(excel[sheet])return excel[sheet]

这是定义了一个用于读取excel表格的函数,但是并不能够直接像excel一样可查看该文件,load_workbook 模块读取 excel 文件中对应的"修改"表中的数据,封装为列表并返回。

# 将该同学所有的成绩列为数组输出
def get_narry(kt,sy,qm):return list(np.array([kt,sy,qm]))

这步主要是为了方便后面直接调用数组(每个同学全部分数的组合体)

# 计算一个分数列的平均分数
def cal_avg(x):n = len(x)sum = 0for i in range(0,n):# print(x[i])sum += x[i]# print(sum)return sum/n

这一步很明显求平均分数,也很好理解

# 每位同学考试成绩>70的次数
def totle_times(x):n = len(x)i=0for i in range(0,n):if x[i]>70:i += 1return i

这一步是求每位同学考试成绩>70的次数,通过索引值来找值

整体代码

import numpy as np
import openpyxldef Read_Excel(Excelname,sheet):'''作用:读取excel表格load_workbook 模块读取 excel 文件中对应的"修改"表中的数据,封装为列表并返回'''excel = openpyxl.load_workbook(filename=Excelname, read_only=True)# print(excel[sheet])return excel[sheet]# 将该同学所有的成绩列为数组输出
def get_narry(kt,sy,qm):return list(np.array([kt,sy,qm]))# 计算一个分数列的平均分数
def cal_avg(x):n = len(x)sum = 0for i in range(0,n):# print(x[i])sum += x[i]# print(sum)return sum/n# 每位同学考试成绩>70的次数
def totle_times(x):n = len(x)i=0for i in range(0,n):if x[i]>70:i += 1return idef get_Value(wb, tag):'''输入:获取相应单元格的数据wb为表格对象tag为单元格标签输出:对应单元格的数据'''return wb[tag].valuedef get_Score(workbook):'''输入:包含学生的所有信息输出:学生成绩数据列表'''# 定义存储学生数据列表students_message = []# 定义储存学生分数等级的列表 A为优秀 B为良好 C为不及格minrow = workbook.min_row + 1maxrow = workbook.max_row + 1for i in range(minrow,maxrow):name = get_Value(workbook, 'B' + str(i))Id = get_Value(workbook,'A'+str(i))time = get_Value(workbook, 'F' + str(i))first = get_Value(workbook, 'C' + str(i))second = get_Value(workbook, 'D' + str(i))third = get_Value(workbook, 'E' + str(i))n = get_narry(first,second,third)layer = []for x in range(len(n)):if np.logical_or(n[x] < 0, n[x] > 100):print("the exist score")elif n[x] >= 70:layer.append('A')elif 50 <= n[x] < 70:layer.append('B')else:layer.append('C')avg_score = cal_avg(n)max_score = np.max(n)times = totle_times(n)students_message.append({'学号':Id,'姓名': name,'第一次成绩': first,'第二次成绩':second,'第三次成绩':third,'时间': time.date().strftime('%Y-%m-%d'),'等级划分':layer,'平均成绩':round(avg_score,2), # round可以将输出保留两位小数'最优成绩':max_score,'分数大于70次数':times})# print(layer)return students_messageif __name__ == '__main__':test = Read_Excel('D:/pycharm/arithmetic/1.xlsx', 'test')Students_messages = get_Score(test)for Students_message in Students_messages:print(Students_message)

运行结果


觉得有用点赞支持一下❤

Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩相关推荐

  1. python处理excel的优势-用Python读写Excel文件的方式比较

    前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取.在这个过程中,研究并尝试了一些工具,也走了一些弯路.记录下来,下次再有类似需 ...

  2. 【接口自动化学习笔记】python+requests+excel实现接口自动化

    文章内容参考:pytest+requests+Excel+allure接口自动化测试框架实践_JJJims的博客-CSDN博客 功能        excel驱动的接口自动化+邮件发送 背景 参考了上 ...

  3. 用python处理excel文件_用python 读写excel文件(附资料下载)

    对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等工具包.利用这些工具,可以方便的对excel 进行操作. 1. 下载 xlutils ...

  4. 【Excel学习笔记2】通过excel从网站上获取数据的方式

    一.关于在excel哪儿输网址?只有一种方法 数据--自网站--输入网址url即可 二.关于如何设置获取后数据的刷新频率?两种方法: 1.右边"查询&连接"栏,找到对应的t ...

  5. Excel学习笔记:P28-如何用Excel来为了公司年会活动抽奖、班级分组?来试试看Excel的随机函数吧

    文章目录 一.单人抽奖活动 二.考试成绩 三.员工分组 四.多人抽奖活动 一.单人抽奖活动 公司组织了一次抽奖活动,从若干员工中抽选出一名中奖者. 可以使用RANDBETWEEN来实现这个功能,它可以 ...

  6. python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...

    最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...

  7. .bin 文件用excel文件打开_用PYTHON读写excel文件

    1 实际案例 问题内容:数据格式为xls,xlsx,是一种常用的电子表格. 小学某班级成绩,记录在excel文件中: 姓名 语文 数学 外语 李磊 95 99 96 韩梅 98 100 93 张峰 9 ...

  8. 超实用的python技巧:python读写Excel表格的实例代码(简单实用)

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要介绍了python读写Excel表格的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可 ...

  9. Python读写EXCEL文件常用方法大全

    前言 python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式. 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...

最新文章

  1. Java语言中的数据类型
  2. 美国AI博士指出,自学Python到底能做什么
  3. Python内置函数min(iterable, *[, key, default])
  4. JavaScript 检查对象属性
  5. 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)
  6. css z-index
  7. 英特尔cpu发布时间表_英特尔10nm芯片开始大规模出货,先进制程时间表浮出水面...
  8. opencv获取模板旋转角度_OpenCV入门之获取图像的旋转角度
  9. Redis学习(6)-常用命令
  10. java for in 循环_js的for in循环和java里foreach循环的区别分析
  11. 力扣693.交替位二进制数
  12. 20155313 2016-2017-2 《Java程序设计》第十周学习总结
  13. Atitit.有分区情况下的表查询策略流程
  14. [aminer] 2020清华大学人工智能发展报告pdf
  15. 利用Ejb开发WebService
  16. C语言输出素数表(1-100)前100个
  17. json字符串转换成list对象
  18. with在python中啥意思_python中with的用法
  19. openlayers地图坐标转换为屏幕像素坐标,屏幕像素坐标转成地图实际坐标
  20. new和malloc区别

热门文章

  1. Unity记录一次重新加载场景时,报错为MissingReferenceException:
  2. JDK8 十大新特性详解(发现面试官挺喜欢问的)
  3. SQL查询数据库名、表名和表字段名
  4. A、B、AB和D类功放对比
  5. 专职安全员办公用计算机,3.安全生产审批制度、专项费用保证措施
  6. ARM7键盘工作原理及中断方式实现(C语言)
  7. DELL远程控制卡 使用ipmitools设置ipmi
  8. [CF1499G]Graph Coloring
  9. 2020CVPR-目标分割-SPNet-Strip Pooling Rethinking Spatial Pooling for Scene Parsing
  10. 虹膜识别之路(一):深度学习现有CNN下的虹膜识别