gpt4 book ai didi

python - 如果文件 1 中的术语在文件 2 的行中,则将文件 2 中的整行写入文件 3

转载 作者:太空宇宙 更新时间:2023-11-04 06:12:19 27 4
gpt4 key购买 nike

我有两个文本文件,一个包含标识符列表,另一个包含更多标识符列表,以及我想要的其他一些信息。我想做的是比较文件 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 个字符)

最佳答案

我在这里写了一些可以帮助你的东西......我把三个文件放在一个文件夹中

file_a.txt(每行1、2、3、4、5)

file_b.txt(每行4、5、6、7、8)

最终文件.txt

这是我的脚本:

# -*- coding: utf-8 -*-

from collections import Counter

file_a = open('file_a.txt', 'r')
file_b = open('file_b.txt', 'r')
final_file = open('final_file.txt', 'w')

ids = []

for line in file_a.readlines():
ids.append(line)

print ids
c = Counter(ids)

for line in file_b.readlines():
print line;
print 'count' + str(c[line])
if c[line] > 0:
final_file.write(line);

file_b.close();
final_file.close();
file_a.close();

关于python - 如果文件 1 中的术语在文件 2 的行中,则将文件 2 中的整行写入文件 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18022106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com