我是python的新手,并且需要以下建议。我有一个包含多个字段的文件,例如下面的示例
# with duplicates
name1 14019 3 0.5564 0.0929 0.6494
name1 14022 0 0.5557 0.0990 0.6547
name1 14016 0 0.5511 0.0984 0.6495
name2 11 8 0.5119 0.0938 0.6057
name2 12 18 0.5331 0.0876 0.6206
name3 16 20 0.5172 0.0875 0.6047
name3 17 29 0.5441 0.0657 0.6098
# without duplicates
name1 14022 0 0.5557 0.0990 0.6547
name2 12 18 0.5331 0.0876 0.6206
name3 17 29 0.5441 0.0657 0.6098
首先是名称,其他字段是数字(根据预测)。有相同名称但有不同预测的预测重复项。我的任务是根据最后一个字段的比较删除重复项。最后一列应为MAXIMUM。
我正在堆叠比较重复项的最后一个字段的步骤。我应该使用lambda还是可以进行直接过滤?列表是否正确使用,或者在从文件中逐行读取时可以在流程中执行?
您对我们的帮助深表感谢!
import csv
fi = open("filein.txt", "rb")
fo = open("fileout.txt", "wb")
reader = csv.reader(fi,delimiter=' ')
writer = csv.writer(fo,delimiter=' ')
names = set()
datum = []
datum2 = []
for row in reader:
if row[0] not in names:
names.add(row[0])
row_new1 = [row[0],row[3],row[4],row[5]]
datum.append(row_new)
writer1.writerow(row_new1)
else:
row_new2 = [row[0],row[3],row[4],row[5]]
datum2.append(row_new2)
writer2.writerow(row_new2)
温温酱
相关分类