我有一个数据文本文档,如下所示:
(data.txt)
John|5|02-20-2019
Sally|3|02-19-2019
Billy|12|02-12-2019
Smith|1|02-16-2019
我希望能够基于嵌入在'|'中的数字将这些值排序到一个名为(data_sorted.txt)的新文本文档中。所以基本上我希望输出文档是:
Billy|12|02-12-2019
John|5|02-20-2019
Sally|3|02-19-2019
Smith|1|02-16-2019
有什么想法吗?我试过使用split('\ n')将其放入列表,但是我不确定之后该怎么办。我知道如何隔离数字,然后我可以单独比较数字,但是我不知道如何保留它们的识别其他信息。 谢谢!
答案 0 :(得分:1)
with open('data.txt', 'r') as infile:
datalist = list(infile)
datalist = sorted(datalist, key=lambda x: int(x.split('|')[1]), reverse=True)
with open('sorted_data.txt', 'w') as outfile:
for line in datalist:
outfile.write(line)