通常情况下,名称存在对应的关系,如果需要去匹配,当存在多个重复的,如何去对应?
如何批量修改,这里可以用到python的字典特性来处理,当存在就给出值。
import os #此处导入需要用到的python包,需要的时候可以调用该包内的功能
os.chdir("") #存放文件的路径信息
a = {} #此处申明一个字典,字典的功能是键和值的关系,可以通过键调用值
f = open("matchlist.txt","r") #此处是打开基因ID和基因名称的对应关系的文件。
for line in f.readlines(): #一行一行的读取文件
line =line.split("\t") #对每一行进行分割,分成基因ID和基因名称量列。
name =line[0] #确定基因ID为上面分割的第一列
ID=line[1] #确定基因名称为对应分割的第二列
a[name]=ID #构建字典,让键和值对应
f2 =open("list","r") #读取需要处理的文件,读的方式
f3 = open("match.txt","w") #声明一个需要输出的文件
for line2 in f2.readlines(): #遍历需要处理的文件的每一行,for 这种后面存在冒号的,下面的行全部缩进一个单位
line2=line2.strip() #去掉每一行字符串的换行符等
if line2 in a.keys(): #判断需要匹配的基因ID是否在字典的键里面,如果在
f3.write(line2+"\t"+a[line2]) #把需要匹配的ID和对应的基因名称写如文件match.txt
f2.close() #关闭打开的文件
f3.close() #关闭打开的文件
文件格式说明:
matchlist
list