Excel怎么计算优秀率(python计算平均分及格率优秀率-中文Excel自动化)

首页常识更新时间:2023-10-22 13:59:48

用中文python进行Excel自动化进行成绩统计

中文代码简单易懂,主页有同名视频进行详细讲解

原文件:包括全年级的各科成绩表,和一个成绩统计的框架

python操作后的新文件:从全年级分出的各班的成绩表,平均分表、及格率表、优秀率表,表中包含条形图的图表

from zwpy import * import zwpy.os_zw as win from zwpy.math_zw import 四舍五入 from zwpy.openpyxl_zw import 电子表格,列名转字母,条形图类 文件1=电子表格('新成绩表.xlsx') 表1=文件1[0] 表2=文件1[1] 表及格率=文件1.复制工作表(表2.标题) 表及格率.标题='及格率' 表优秀率=文件1.复制工作表(表2.标题) 表优秀率.标题='优秀率' 表2.标题='平均分' 满分=列表(150,150,150,50,50,50,50,650) # 下面用总成绩表计算全部学生的平均分/优秀率/及格率 for 列 in 范围(3,11): 分数列表=表1[列名转字母(列)].所有值[1:] 平均分=(求和(分数列表))/长度(分数列表) 表2.单元格(2,列-1,四舍五入(平均分,2)) 及格分 = 满分[列 - 3] * 0.6 及格列表 = 列表(分数 for 分数 in 分数列表 if 分数 >= 及格分) 及格人数 = 长度(及格列表) 及格率 = 及格人数 / 长度(分数列表) 表及格率.单元格(2, 列 - 1, 及格率) 表及格率.单元格(2, 列 - 1).数字格式 = '0.00%' 优秀分 = 满分[列 - 3] * 0.8 优秀列表 = 列表(分数 for 分数 in 分数列表 if 分数 >= 优秀分) 优秀人数 = 长度(优秀列表) 优秀率 = 优秀人数 / 长度(分数列表) 表优秀率.单元格(2, 列 - 1, 优秀率) 表优秀率.单元格(2, 列 - 1).数字格式 = '0.00%' # 下面新建7个班的工作表并从总成绩表分出对应班的学生 表头=表1[1].所有值 for i in 范围(1,8): 表=文件1.添加工作表(f'{i}班') 表.添加行(表头) for 行 in 范围(2,表1.最大行 1): 班名=表1.单元格(行,2).值 文件1[班名].添加行(表1[行].所有值) # 依次对每个班计算平均分/优秀率/及格率 for i in 范围(1,8): 表=文件1[f'{i}班'] for 列 in 范围(3, 11): 分数列表 = 表[列名转字母(列)].所有值[1:] 平均分 = (求和(分数列表)) / 长度(分数列表) 表2.单元格(2 i, 列 - 1, 舍入(平均分, 2)) 及格分 = 满分[列 - 3] * 0.6 及格列表 = 列表(分数 for 分数 in 分数列表 if 分数 >= 及格分) 及格人数 = 长度(及格列表) 及格率 = 及格人数 / 长度(分数列表) 表及格率.单元格(2 i, 列 - 1, 及格率) 表及格率.单元格(2 i, 列 - 1).数字格式 = '0.00%' 优秀分 = 满分[列 - 3] * 0.8 优秀列表 = 列表(分数 for 分数 in 分数列表 if 分数 >= 优秀分) 优秀人数 = 长度(优秀列表) 优秀率 = 优秀人数 / 长度(分数列表) 表优秀率.单元格(2 i, 列 - 1, 优秀率) 表优秀率.单元格(2 i, 列 - 1).数字格式 = '0.00%' # 给平均分/优秀率/及格率三个工作表添加条形图 for 列 in 范围(2,10): 科目=表2.单元格(1,列).值 条形图=条形图类('垂直',科目) 条形图.添加数据(表2,2,9,列) 条形图.设置系列(表2,2,9,1) 行位置=(列-1) 15*(列-2) 表2.添加图表(条形图,f'K{行位置}') for 列 in 范围(2,10): 科目=表及格率.单元格(1,列).值 条形图=条形图类('水平',科目) 条形图.添加数据(表及格率,2,9,列) 条形图.设置系列(表及格率,2,9,1) 行位置=(列-1) 15*(列-2) 表及格率.添加图表(条形图,f'K{行位置}') for 列 in 范围(2,10): 科目=表优秀率.单元格(1,列).值 条形图=条形图类('垂直',科目) 条形图.添加数据(表优秀率,2,9,列) 条形图.设置系列(表优秀率,2,9,1) 行位置=(列-1) 15*(列-2) 表优秀率.添加图表(条形图,f'K{行位置}') 文件1.保存('新成绩表2.xlsx') win.打开文件('新成绩表2.xlsx')

,
展开阅读全文
推荐内容
热门内容
热门文章

© 2007-2022 http://www.anhuiqq.cn,All Rights Reserved.