Wie extrahiere ich unter bestimmten Bedingungen eine Zeile aus der Datei?

Wie extrahiere ich unter bestimmten Bedingungen eine Zeile aus der Datei?

Angenommen, ich habe eine Datei mit 50.000 Zeilen und betrachte (Account, Cusip) als Primärschlüssel. Ich möchte die letzte Zeile unter den Zeilen mit demselben Primärschlüssel behalten. Wie kann ich das erreichen, wenn ich die letzte Zeile unter den Zeilen mit demselben Primärschlüssel behalte?

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

Erwartetes Ergebnis

Account  Cusip   Amount 
A        a       450
A        b       500
B        b       350
C        a       300
C        c       500

Antwort1

Verwenden Sie das folgende Python-Skript, um das gewünschte Ergebnis zu erzielen. Die Datei 1.txtenthält Ihre Eingabedaten:

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)

verwandte Informationen