Como extrair linha do arquivo em condições específicas?

1

Suponha que eu tenha um arquivo com 50K linhas, considere (Account, Cusip) como chave primária. Eu 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 o último linehow, 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
    
por moo 16.01.2017 / 08:16

1 resposta

2

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)
    
por 27.01.2017 / 22:15