擅长:python、mysql、java
<p>您可以使用字典存储每个唯一列1的所有行:</p>
<pre><code>sheet= """cmn1\tcmn2\tcmn3\tcmn4\tcmn5
rob\t45\tfoo\tbar\t0.0001
Steve\t32\tfoo\tspam\t0.01
rob\t45\tbar\tfoo\t0.0000001
Steve\t32\tfoo\tbar\t0.1"""
grouped = {}
for line in sheet.split('\n')[1:]:
parts = line.split('\t')
print (line)
# Parse the numbers into numerical types
typed = (parts[0], int(parts[1]), parts[2], parts[3], float(parts[4]))
#Add the typed list of values into a list stored in our dict
if parts[0] in grouped.keys():
grouped[parts[0]].append(typed)
else:
grouped[parts[0]] = [typed]
#Now you can go through all the keys in the dict and select the smallest
smallest_per_group = []
for key in grouped:
lines = grouped[key]
# using the 'key' parameter tells Python to give us the line with the smallest 5th column
smallest = min(lines, key=lambda x:x[4])
smallest_per_group.append(smallest)
</code></pre>