unique.txt
文件包含:2列,列之间用tab分隔。total.txt
文件包含:3列,每列用tab分隔。你知道吗
我从unique.txt
文件中获取每一行,并在total.txt
文件中找到它。如果存在,则从total.txt
中提取整行,并将其保存在新的output
文件中。你知道吗
###Total.txt
column a column b column c
interaction1 mitochondria_205000_225000 mitochondria_195000_215000
interaction2 mitochondria_345000_365000 mitochondria_335000_355000
interaction3 mitochondria_345000_365000 mitochondria_5000_25000
interaction4 chloroplast_115000_128207 chloroplast_35000_55000
interaction5 chloroplast_115000_128207 chloroplast_15000_35000
interaction15 2_10515000_10535000 2_10505000_10525000
###Unique.txt
column a column b
mitochondria_205000_225000 mitochondria_195000_215000
mitochondria_345000_365000 mitochondria_335000_355000
mitochondria_345000_365000 mitochondria_5000_25000
chloroplast_115000_128207 chloroplast_35000_55000
chloroplast_115000_128207 chloroplast_15000_35000
mitochondria_185000_205000 mitochondria_25000_45000
2_16595000_16615000 2_16585000_16605000
4_2785000_2805000 4_2775000_2795000
4_11395000_11415000 4_11385000_11405000
4_2875000_2895000 4_2865000_2885000
4_13745000_13765000 4_13735000_13755000
我的程序:
file=open('total.txt')
file2 = open('unique.txt')
all_content=file.readlines()
all_content2=file2.readlines()
store_id_lines = []
ff = open('match.dat', 'w')
for i in range(len(all_content)):
line=all_content[i].split('\t')
seq=line[1]+'\t'+line[2]
for j in range(len(all_content2)):
if all_content2[j]==seq:
ff.write(seq)
break
问题:
但是它给出了欲望output
(满足if条件的第一列的值)。我想如果unique.txt == ith
的第j个total.txt
的第j个,那么就写第i行总计.txt输入新文件。你知道吗
我将用以下方式编写您的代码:
请避免使用readlines()并在打开文件时使用with语法。你知道吗
Here解释了为什么不需要使用readlines()
相关问题 更多 >
编程相关推荐