
Suponha que eu tenha um arquivo com 50 mil linhas, considere (Conta, Cusip) como chave primária. Gostaria de manter a última linha entre as linhas com a mesma chave primária. aquelas linhas que, para as linhas com a mesma chave primária, mantêm a última linha, como posso conseguir isso?
Account Cusip Amount
A a 500
A a 450
A b 500
B b 600
B b 350
C a 300
C c 100
C c 200
C c 500
Resultado esperado
Account Cusip Amount
A a 450
A b 500
B b 350
C a 300
C c 500
Responder1
Use o seguinte script python para fazer o que você esperava. O arquivo 1.txt
contém seus dados de entrada:
key1=''
key2=''
amount=''
with open('1.txt') as f:
for line in f:
[nkey1,nkey2,namount]=line.split()
if nkey1==key1 and nkey2==key2:
amount=namount
else:
print '%s\t%s\t%s' % (key1,key2,amount)
key1=nkey1
key2=nkey2
amount=namount
print '%s\t%s\t%s' % (key1,key2,amount)