首页 > 解决方案 > 在 python 中,仅提取文件的一部分时,如何确保单词保持在一行并且没有重复?

问题描述

我之前发布了一个问题,询问如何分离文件(如何将多个部分匹配字符串从行中拉出并在同一行上保持相同的顺序?)并弄清楚如何使用

prefixes = ["Zm00018ab","Zm00001eb","Zm00039ab"]

with open("MaizeGDB_maize_pangene_2020_08.txt","r") as infile:
    with open("pangene_adjusted_2021_06.txt","w") as outfile:
        for line in infile:
            elements = line.split("\t")
            to_write = []
            for elem in elements:
                if elem[:9] in prefixes:
                    to_write.append(elem)
                    print (to_write)
                    outfile.write("\t""\n".join(to_write))

但是我的输出中有原始数据中不存在的重复,并且没有分隔单词输出:

Zm00001eb045170Zm00001eb045170
Zm00018ab047740Zm00001eb045170  
Zm00018ab047740
Zm00001eb045180Zm00001eb045170  
Zm00018ab047740
Zm00001eb045180
Zm00039ab046010Zm00001eb045170  
Zm00018ab047740

我正在寻找如何做到这一点,但我想我会问你们有帮助的人,以防你们中的一个人在我找到解决方案之前可以回答。

理想情况下,输出将是

Zm00001eb045170 Zm00018ab047740 Zm00038ab046680 Zm00018ab047760 Zm00038ab046670 Zm00001eb045180
new line with more gene IDs

标签: pythondata-manipulationgenome

解决方案


推荐阅读