Consegui ordenar as linhas de acordo com as datas assim:
l = [lista de linhas de dados]
for x in l:
ay = time.strptime(x[2], '%d/%m/%Y')
ay = datetime.datetime(*ay[0:5])
x[2] = ay.strftime('%Y%m%d')
l.sort(key=lambda a: a[2]) for w in l:
aw = time.strptime(w[2], '%Y%m%d')
aw = datetime.datetime(*aw[0:5])
w[2] = aw.strftime('%d/%m/%Y')
Agora resta verificar as datas iguais para eliminar a linha repetida.