这个txt文件实质为一个以逗号分隔的CSV格式文件,所以可以用pandas来处理数据,根据题意,评委ID在数据处理中没有实际意义,所以提取中就可以忽略
import pandas as pd
import xlwt
def takeSecond(elem):# 排序时取第2个元素来比较处理
return elem[1]
datas=pd.read_csv('data.txt', usecols=[1,2,3] ,header=None) # 从文件中读取数据
rt=[]
for i in range(3): # 计算每个候选人的对应成绩
dataList=datas[datas.columns[i]]
rt.append(["{}号候选人".format(i+1), (dataList.sum()-dataList.max()-dataList.min())/8])
rt.sort(key=takeSecond,reverse=True) #排序元素,从高到低
wb = xlwt.Workbook() # 后面都是excel文件写入处理
sheet1 = wb.add_sheet('score')
sheet1.write(0,0,rt[0][0])
sheet1.write(0,1,rt[0][1])
wb.save('score.xls')