Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
文章目录
- 环境和所需准备
- 代码解读
- 整体代码
- 运行结果
环境和所需准备
执行这个程序需要安装以下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的次数、找最优成绩相关推荐
- python处理excel的优势-用Python读写Excel文件的方式比较
前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取.在这个过程中,研究并尝试了一些工具,也走了一些弯路.记录下来,下次再有类似需 ...
- 【接口自动化学习笔记】python+requests+excel实现接口自动化
文章内容参考:pytest+requests+Excel+allure接口自动化测试框架实践_JJJims的博客-CSDN博客 功能 excel驱动的接口自动化+邮件发送 背景 参考了上 ...
- 用python处理excel文件_用python 读写excel文件(附资料下载)
对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等工具包.利用这些工具,可以方便的对excel 进行操作. 1. 下载 xlutils ...
- 【Excel学习笔记2】通过excel从网站上获取数据的方式
一.关于在excel哪儿输网址?只有一种方法 数据--自网站--输入网址url即可 二.关于如何设置获取后数据的刷新频率?两种方法: 1.右边"查询&连接"栏,找到对应的t ...
- Excel学习笔记:P28-如何用Excel来为了公司年会活动抽奖、班级分组?来试试看Excel的随机函数吧
文章目录 一.单人抽奖活动 二.考试成绩 三.员工分组 四.多人抽奖活动 一.单人抽奖活动 公司组织了一次抽奖活动,从若干员工中抽选出一名中奖者. 可以使用RANDBETWEEN来实现这个功能,它可以 ...
- python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...
最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...
- .bin 文件用excel文件打开_用PYTHON读写excel文件
1 实际案例 问题内容:数据格式为xls,xlsx,是一种常用的电子表格. 小学某班级成绩,记录在excel文件中: 姓名 语文 数学 外语 李磊 95 99 96 韩梅 98 100 93 张峰 9 ...
- 超实用的python技巧:python读写Excel表格的实例代码(简单实用)
@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要介绍了python读写Excel表格的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可 ...
- Python读写EXCEL文件常用方法大全
前言 python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式. 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...
最新文章
- Java语言中的数据类型
- 美国AI博士指出,自学Python到底能做什么
- Python内置函数min(iterable, *[, key, default])
- JavaScript 检查对象属性
- 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)
- css z-index
- 英特尔cpu发布时间表_英特尔10nm芯片开始大规模出货,先进制程时间表浮出水面...
- opencv获取模板旋转角度_OpenCV入门之获取图像的旋转角度
- Redis学习(6)-常用命令
- java for in 循环_js的for in循环和java里foreach循环的区别分析
- 力扣693.交替位二进制数
- 20155313 2016-2017-2 《Java程序设计》第十周学习总结
- Atitit.有分区情况下的表查询策略流程
- [aminer] 2020清华大学人工智能发展报告pdf
- 利用Ejb开发WebService
- C语言输出素数表(1-100)前100个
- json字符串转换成list对象
- with在python中啥意思_python中with的用法
- openlayers地图坐标转换为屏幕像素坐标,屏幕像素坐标转成地图实际坐标
- new和malloc区别
热门文章
- Unity记录一次重新加载场景时,报错为MissingReferenceException:
- JDK8 十大新特性详解(发现面试官挺喜欢问的)
- SQL查询数据库名、表名和表字段名
- A、B、AB和D类功放对比
- 专职安全员办公用计算机,3.安全生产审批制度、专项费用保证措施
- ARM7键盘工作原理及中断方式实现(C语言)
- DELL远程控制卡 使用ipmitools设置ipmi
- [CF1499G]Graph Coloring
- 2020CVPR-目标分割-SPNet-Strip Pooling Rethinking Spatial Pooling for Scene Parsing
- 虹膜识别之路(一):深度学习现有CNN下的虹膜识别