文字替换成函数返回数字进行排序:
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爬虫视频爬虫代码处理爬虫数据排序 asa.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(" ") #通过查看二进制,得到换行为 可通过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)+" ") savefile.close