
假設我有一個包含 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)