我有一个表格文件,其中第一列有ID,第二列有数值。我需要生成一个文件,其中只包含每个ID得分最高的行。
所以,我想接受这个:
ES.001 2.33
ES.001 1.39
ES.001 119.55
ES.001 14.55
ES.073 0.35
ES.073 17.95
ES.140 1.14
ES.140 53.88
ES.140 18.28
ES.178 150.27
并生成这个:
ES.001 119.55
ES.073 17.95
ES.140 53.88
ES.178 150.27
我怎样才能在Python中执行此操作?
答案 0 :(得分:0)
请看下面的代码。也许它可以帮助你。
with open('FILENAME') as f:
lines = f.readlines()
ids = {}
for line in lines:
line = line.rstrip()
line = line.split(' ')
value = ids.get(line[0], list())
value.append(float(line[-1]))
ids[line[0]] = value
max_values = []
for key, value in ids.items():
print key, max(value)