Вы можете использовать пакет datetime
, чтобы проверить, сколько времени прошло.Создайте список людей в CSV-файле, затем отсортируйте список по истекшему времени.для первых 8 строк файла csv (потому что NULL не определен!):
1,A,2014-11-01,2015-05-01
2,B,2013-12-06,2014-10-06
2,C,2014-01-07,2016-03-07
3,B,2015-06-04,2017-09-04
5,C,2014-10-01,2015-12-01
1,A,2013-03-07,2015-11-07
Вы можете использовать это:
from datetime import datetime
with open('file.txt', 'r') as file:
my_list = list()
for line in file:
list_ = line.split(',')
dt1 = datetime.strptime(list_[2], '%Y-%M-%d')
dt2 = datetime.strptime(list_[3][:10], '%Y-%M-%d')
my_list.append(list_[:2] + [dt2-dt1])
my_list.sort(key=lambda x: x[2])
print(my_list)
output:
[['3', 'B', datetime.timedelta(days=364, seconds=85920)], ['1', 'A', datetime.timedelta(days=364, seconds=86040)], ['2', 'B', datetime.timedelta(days=364, seconds=86280)], ['5', 'C', datetime.timedelta(days=365, seconds=120)], ['2', 'C', datetime.timedelta(days=730, seconds=120)], ['1', 'A', datetime.timedelta(days=730, seconds=480)], ['3', 'B', datetime.timedelta(days=731, seconds=180)], ['2', 'C', datetime.timedelta(days=1470, seconds=86040)]]