Eu tenho dois arquivos csv com o seguinte formato:
column1,column2,user,column4,column5,column...column14
Eu gostaria de classificar os arquivos com base no usuário como primeira chave e, em seguida, com base na coluna 14, em ordem decrescente, que é um número que representa um carimbo de data / hora.
O resultado seria como:
arquivo1:
A,AA,jim,XX,YY,....,1485771395
A,AA,jim,XX,YY,....,1485771395
etc
Eu gostaria que esses arquivos guardassem apenas a primeira linha de cada cluster, ou seja, apenas
A,AA,jim,XX,YY,....,1485771395
Como posso fazer isso?
Atualização:
Exemplo de entrada:
"1/30/2017 11:14:55 AM",Valid customer,jim.smith,NY,1485771295
"1/26/2017 5:06:11 AM",New customer,john.doe,CA,1485403571
"1/26/2017 8:02:01 PM",Valid customer,jim.smith,NY,1485457321
"1/30/2017 4:14:30 AM",New customer,tim.jones,CO,1485746070
"1/30/2017 11:09:36 AM",New customer,tim.jones,CO,1485770976
"1/30/2017 11:14:50 AM",Valid customer,jim.smith,NY,1485771290
"1/22/2017 11:51:51 AM",New customer,tim.jones,CO,1485082311
A última coluna é a época da primeira coluna para poder ordenar as linhas usando um número em vez de uma cadeia.
Então, o resultado esperado seria:
a) Classificando o nome e o timestamp na ordem inversa, obtemos:
"1/30/2017 11:14:55 AM",Valid customer,jim.smith,NY,1485771295
"1/30/2017 11:14:50 AM",Valid customer,jim.smith,NY,1485771290
"1/26/2017 8:02:01 PM",Valid customer,jim.smith,NY,1485457321
"1/26/2017 5:06:11 AM",New customer,john.doe,CA,1485403571
"1/30/2017 11:09:36 AM",New customer,tim.jones,CO,1485770976
"1/30/2017 4:14:30 AM",New customer,tim.jones,CO,1485746070
"1/22/2017 11:51:51 AM",New customer,tim.jones,CO,1485082311
Portanto, temos um cluster de linhas para jim.smith
another para tim.jones
classificado pela última coluna na ordem inversa (ou seja, a data mais recente da primeira linha é a primeira no cluster) e uma linha para john.doe
tem apenas 1 registro.
Depois, gostaria de manter apenas a primeira linha de cada cluster. Ou seja
"1/30/2017 11:14:55 AM",Valid customer,jim.smith,NY,1485771295
"1/26/2017 5:06:11 AM",New customer,john.doe,CA,1485403571
"1/30/2017 11:09:36 AM",New customer,tim.jones,CO,1485770976