文字替换成函数返回数字进行排序

  文字替换成函数返回数字进行排序:

def xueli(study):
    if study == "博士后":
        return 10
    elif study == "博士":
        return 9
    elif study == "硕士":
        return 8
    elif study == "本科":
        return 7
    elif study == "大专":
        return 6
    elif study == "高中":
        return 5
    elif study == "中专":
        return 4
    elif study == "初中":
        return 3
    elif study == "小学":
        return 2
    elif study == "幼儿园":
        return 1
    else:
        return 0






filepath=r'D:\python爬虫视频\爬虫代码\处理爬虫数据排序\nasa.txt'
readfile=open(filepath,"rb")
#textfile=readfile.decode("gbk","ignore")
mydatalist=readfile.readlines()
mynewlist=[]
for line in mydatalist:
    line=line.decode("gbk",errors="ignore")
    linelist=line.split("\t")   #通过查看二进制,得到换行为 \t   可通过split切割为列表
    if len(linelist)>19:   #筛选数据   通过查看txt文本,数一下 一行的数据为20个字符
            mynewlist.append(linelist)  #存储列表,每一个元素都是列表

readfile.close()
mynewlist.sort(key=lambda x:xueli(x[5]))  #根据第三个排序,转化为整数
mynewlist.reverse() #反转

savefile=open("youqiang.txt","w")
for data in mynewlist:
    print(data)
    savefile.write(str(data)+"\r\n")
savefile.close

 

posted on 2020-03-09 11:17  共感的艺术  阅读(271)  评论(0)    收藏  举报