[英]Replacing lines in one file by keys in another file-python
我一直试图用另一个file2.txt中的键替换file1.txt中的行。 我有以下格式的两个文本文件:
file1.txt
SNP_A-43344 rs176444
SNP_A-53343 rs2345
SNP_A-57574 rs89902222
. .
. .
. .
SNP_A-47474 rs474784
. .
. .
. .
和file2.txt
rs176444
rs89902222
rs474784
.
.
.
我想用其SNP号替换file2.txt的内容,以便file2.txt看起来像这样:
SNP_A-43344
SNP_A-57574
SNP_A-47474
.
.
.
我在网上看到了一些示例,但我无法弄清楚。 我已经在以下几个小时内更改了以下代码,但我只是更改了原始文件中的条目。
import re
with open('file1.txt','r') as f:
data1=dict(line.split() for line in f)
with open('file2.txt') as f:
data2=f.read()
data2=re.sub(pattern,SNPnumber,data2)
我一直在玩re.sub中的pattern和SNPnumber条目。 这是正确的方法还是我做的完全错误。 我是python的新手,如果您能给我一些建议或将我定向到某个源,我将不胜感激。 谢谢!
尝试这个:
my_dict = {}
with open("file1.txt") as f:
for line in f:
value, key = line.strip().split() # taking rs... as key and SNP-.. as value
my_dict[key] = value
rs_values = open("file2.txt").readlines()
with open("file2.txt", "w") as f:
for x in rs_values:
f.write(my_dict[x.strip()] + "\n")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.