使用python将excel表格中的A+,A等分数自动转换成百分制分数,并自动保存于excel中

使用该简短程序,将excel表格中的A+,A,A-,B+等转换成对应的百分制分数,再加和平均,并自动保存于excel表格中。

本文较为适合学生数次作业分数的最终统计,本例是将学生的八次作业转换成百分制并综合平均得到最终分数,并自动将每位学生的分数保存至对应位置。

使用程序转换分数之前:

使用python将excel表格中的A+,A等分数自动转换成百分制分数,并自动保存于excel中_第1张图片

程序如下:

import numpy as np
import xlwings as xw

def zhuanhuan(a):
    for i in range(len(a)):
        if a[i] == 'A+':
            a[i]=100
        elif a[i] == 'A':
            a[i]=95
        elif a[i] == 'A-':
            a[i]=90
        elif a[i] == 'B+':
            a[i]=85
        elif a[i] == 'B':
            a[i]=80
        elif a[i] == 'B-':
            a[i]=75
        elif a[i] == 'C+':
            a[i]=70
        elif a[i] == 'C':
            a[i]=65
        elif a[i] == 'C-':
            a[i]=60
        else:
            a[i]=0
    return a
grades=xw.Book('grades.xls') #将excel表格保存至程序文件处,输入文件名
grade=grades.sheets[0]
shu1=grade.range('e4:e69').value #需要转换的分数所在区域,第e列的第4行至第69行
shu1=zhuanhuan(shu1)
shu1=np.array(shu1)
shu2=grade.range('f4:f69').value #需要转换的分数所在区域
shu2=zhuanhuan(shu2)
shu2=np.array(shu2)
shu3=grade.range('g4:g69').value #需要转换的分数所在区域
shu3=zhuanhuan(shu3)
shu3=np.array(shu3)
shu4=grade.range('h4:h69').value #需要转换的分数所在区域
shu4=zhuanhuan(shu4)
shu4=np.array(shu4)
shu5=grade.range('i4:i69').value #需要转换的分数所在区域
shu5=zhuanhuan(shu5)
shu5=np.array(shu5)
shu6=grade.range('j4:j69').value #需要转换的分数所在区域
shu6=zhuanhuan(shu6)
shu6=np.array(shu6)
shu7=grade.range('k4:k69').value #需要转换的分数所在区域
shu7=zhuanhuan(shu7)
shu7=np.array(shu7)
shu8=grade.range('l4:l69').value #需要转换的分数所在区域
shu8=zhuanhuan(shu8)
shu8=np.array(shu8)
shu=(shu1+shu2+shu3+shu4+shu5+shu6+shu7+shu8)/800 #综合八次分数情况,得到平均分数
print(shu)
shu=list(shu)
grade.range('M4').options(transpose=True).value = shu #将平均分数保存至第M列第4行至69行
grades.save()
grades.close()

 使用程序转换分数之前:

使用python将excel表格中的A+,A等分数自动转换成百分制分数,并自动保存于excel中_第2张图片

 

你可能感兴趣的:(python,开发语言)