我被这个问题困扰了一段时间,所以我想我可能会寻求帮助
我有一系列文件,每个文件的结构如下:
I:8859_VEP upstream_gene_variant Y74C9A.2a.1
I:8859_VEP upstream_gene_variant Y74C9A.2a.2
I:8859_VEP frameshift_variant Y74C9A.2a.2
I:8859_VEP upstream_gene_variant Y74C9A.2a.3
I:8859_VEP intron_variant Y74C9A.2a.3
I:8859_VEP downstream_gene_variant Y74C9A.6
I:8859_VEP upstream_gene_variant Y74C9A.2a.4
I:8859_VEP upstream_gene_variant Y74C9A.2a.5
I:8859_VEP upstream_gene_variant Y74C9A.2b
I:8859_VEP upstream_gene_variant Y74C9A.6
I:8859_VEP downstream_gene_variant Y74C9A.6
对于每个文件,我只需要根据第二列值的优先级打印一行,在本例中,我希望使用“frameshift_variant”打印该行;然而,如果没有任何“移码变体”,它应该打印“插入变体”,等等
我试过:
with open('table.csv', 'r') as f:
for line in f:
line = line.strip("\n")
lin = line.split("\t")
if lin[1] == "frameshift_variant":
print(line)
break
else:
if lin[1] == "intron_variant":
print(line)
break
else:
if lin[1] == "upstream_gene_variant":
print(line)
break
非常感谢任何愿意回复的人
试着改变
为了
似乎这与csv的结构有关
您必须浏览整个文件并保留具有最佳第二个字段的行。假设顺序为“移码变体”、“内含子变体”, “上游基因变体”、“下游基因变体”,您可以执行以下操作:
注:这假设文件实际上是一个制表符分隔的文件
相关问题 更多 >
编程相关推荐