我正在对 csv 文件进行一些过滤,其中每个标题都有许多具有不同预测值的重复 ID,因此第 2 列(pythoniac)是不同的。我只想保留 30 个最低值但具有唯一 ID。我来到了这段代码,但我不知道如何保留最低 30 个条目。
您能否提供有关如何通过 ID 获得 30 个唯一条目的建议?
# title1 id1 100 7.78E-25 # example of the line
with open("test.txt") as fi:
cmp = {}
for R in csv.reader(fi, delimiter='\t'):
for L in ligands:
newR = R[0], R[1]
if R[0] == L:
if (int(R[2]) <= int(1000) and int(R[2]) != int(0) and float(R[3]) < float("1.0e-10")):
if newR in cmp:
if float(cmp[newR][3]) > float(R[3]):
cmp[newR] = R[:-2]
else:
cmp[newR] = R[:-2]