我有一个包含许多列的 CSV 文件。我正在尝试根据其中一列中的值对行进行排序(按数字降序排列)。而且我只希望它输出前 10 名。但是,当我使用以下代码时,我得到的输出不正确。
import csv
f = open('SNPs.csv', "rU")
reader = csv.reader(f)
output = [row for row in reader]
output.sort(key=lambda x: x[32], reverse=True)
print dict((row[10], (row[11], row[8], row[32])) for row in output[:10])
输出类似于:
'XRgroup8': ('38', '2', '0.47'), '2': ('30', '13', '0.37'), 'Chromosome': ('Position', 'Distance', 'GC'), 'XRgroup5': ('54', '1', '0.45')
很明显,它没有返回 10 个值,而且它们也不按顺序排列。有任何想法吗?