如何根据特定条件从文件中提取行?

如何根据特定条件从文件中提取行?

假设我有一个包含 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)

相关内容