我有两个文本文件,一个包含标识符列表,另一个包含更多标识符的列表,再加上一些我想要的信息。我要做的是比较文件1和文件2中的标识符,如果它们匹配,则将文件2中的行写入一个新文件,即文件3。你知道吗
以下是我所拥有的(这有点奇怪,因为我进入了列表,我在编程方面从来没有走那么远):
def identify(MOPED_Prot, Swiss_Prot, MOPED_to_Swiss):
Swiss = open(Swiss_Prot, 'r')
M = open(M_Prot, 'r')
output = open(M_to_Swiss, 'wt')
Swissids = []
ids = []
for line in M.readlines():
ids.append(line[:5])
for line in Swiss.readlines():
Swissids.append(line)
while set(ids)& set(Swissids):
output.write(#line? Not sure what goes here + "\n")
我确实得到了代码,用类似的代码将“Swiss”中的一行代码写入到新文件的每个交集中,但它只重复了一行代码。老实说,结局让我困惑。你知道吗
编辑:根据要求,以下是文件的外观
文件1:
B4E035
P23946
O00376
D6RGF3
B2RDK6
Q12999
Q8TDD2
B2RDC9
C9JL66
Q9NZQ9
文件2:
P31946 1433B_HUMAN YWHAB
P62258 1433E_HUMAN YWHAE
Q04917 1433F_HUMAN YWHAH YWHA1
P61981 1433G_HUMAN YWHAG
P31947 1433S_HUMAN SFN HME1
文件3应该输出文件2中的行,如果第一列中的任何标识符匹配(它们的长度都是6个字符)
我在这里写了一些可以帮助你的东西…我把三个文件放进一个文件夹
文件\u a.txt(包含第1、2、3、4、5行)
文件\u b.txt(包含第4、5、6、7、8行)
最终_文件.txt你知道吗
这是我的剧本:
假设file1每行包含一个标识符,可能您可以使用如下内容:
注意事项:我没有安装python2.7(直到现在我才知道您需要python2.7)。也许你需要做一些调整,把这段代码移植到py2上。你知道吗
编辑:考虑到您的示例数据,您可以尝试以下操作:
相关问题 更多 >
编程相关推荐