
50K 行のファイルがあり、(Account、Cusip) を主キーと見なすとします。同じ主キーを持つ行の中で最後の行を保持したいと思います。同じ主キーを持つ行の中で最後の行を保持するには、どうすればよいでしょうか。
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
期待される結果
Account Cusip Amount
A a 450
A b 500
B b 350
C a 300
C c 500
答え1
期待どおりに実行するには、次の Python スクリプトを使用します。ファイルには1.txt
入力データが含まれています。
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)