提取与其他文件的另一列匹配的行

时间:2019-04-10 18:14:47

标签: python

我有2个文件标签,其中包含许多列(.tsv格式)。 我制作了一个python脚本,如果一列的某个值与另一文件不同,那么该脚本将为您提供一个文件的完整行:

File A:
ID   Name1   Name2   Name3   NameN

File B:
ID   Name1   Name2   Name3   NameN
normal=open('File1.tsv','r')
tumor=open('File2.tsv','r')

a=normal.readlines()
b=tumor.readlines()

A=[]
for ln in a:
    A.append(ln.split('\t')[9])
B=[]
for ln in b:
    B.append(ln.split('\t')[9])

normal.close()
tumor.close()

c=[]

for k, i in enumerate(B):
    if i not in A:
        c.append(b[k])      

co=open('c.txt','w')
for ln in c:
    co.write(ln)

现在我想做的是相反的事情。我的意思是,如果发现一个巧合,输出应该是file2的整行。

我只更改代码的最后一个条件即可解决,但不能解决。

有什么主意吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果打算执行相反的操作,则仅输出第二个文件中第二行中第10列的值相同的行,然后更改:

if i not in A:

收件人:

if i in A:

应该做。