妹子发给我一个她们公司 100 多人的 Excel 表格,是关于员工等级评定的,有 N1,N2,N3,N4(百分制得分 /按权重 10%,20%,50%,20%计算)四项得分和总分 sum
标准如下:
- 如果 sum 在 90 分以上,为等级 A,80-90:等级 B,70-80:等级 C,60-70:等级 D
- 如果在上述四项中有一项低于 60 分,等级顺降一级,两项低于 60 分,降两级
尝试的方法:
- 妹子自己用的 Excel 表格自带的函数,无果,目前正在手动计算等级
- 我以前了解过 python 的一些库,知道 pandas 可以处理表格,倒腾了一会儿没有搞出来,python 语法也是现学,这段代码运行后只能显示了第二行的结果 B
- 大佬们有什么好的处理这个表格的方法吗?,Excel 函数或者其他方法都行,手动计算其实也用不了多少时间,但是应该有更高效的方法,求教!
代码部分( python 小白,大佬轻喷)
import pandas as pd
data1=pd.read_excel("C:/Users/acer/Desktop/绩效.xlsx")
def final (num1):
if (num1==10):
return "A"
elif(num1==9):
return "B"
elif(num1==8):
return "C"
elif(num1==7):
return "D"
elif (num1==6):
return "E"
def c_f1():
for i in range(5):
def c_f(first_number):
num=0
if(data1.iloc[i].values[1]<6):
num+=1
elif(data1.iloc[i].values[2]<12):
num+=1
elif(data1.iloc[i].values[3]<30):
num+=1
elif(data1.iloc[i].values[4]<12):
num+=1
return first_number-num
if (data1.iloc[i].values[5]>=90):
n1=c_f(10)
return final(n1)
elif(data1.iloc[i].values[5]>=80 and data1.iloc[1].values[5]<90):
n1=c_f(9)
return final(n1)
elif(data1.iloc[i].values[5]>=70 and data1.iloc[1].values[5]<80):
n1=c_f(8)
return final(n1)
elif(data1.iloc[i].values[5]>=60 and data1.iloc[1].values[5]<70):
n1=c_f(7)
return final(n1)
elif(data1.iloc[i].values[5]>=50 and data1.iloc[1].values[5]<60):
n1=c_f(6)
return final(n1)
print(c_f1())