比较两个文件并返回匹配的术语

时间:2016-05-11 10:37:17

标签: python csv

我遇到一些我觉得应该很容易的问题。

我有两个文件,tsv。一个是这样的名字列表:

Thing1
Thing2
Thing3
Thing4
...

另一个是这些“事物”之间的相互作用列表,它看起来像这样:

Thing1 Thing2 0.726
Thing3 Thing2 0.742
Thing1 Thing4 0.761

我想做的就是获取列表并返回该列表中项目的名称,这些项目出现在我的第二个交互文件中。我认为这应该是相当直接的,但我似乎无法让它发挥作用。

到目前为止,我尝试过一些东西,但最基本的看起来是这样的:

import csv
import sys

ints = sys.argv[1]

name_list = open('Names', 'rb')
int_list = open(ints, 'rb')

for i in int_list:
    for names in name_list:
        if i == name:
            print(name) 

我确信我在这里遗漏了一些非常基本的东西,但是我们将非常感谢任何帮助。

干杯:)

2 个答案:

答案 0 :(得分:0)

您必须将名称拆分为3个部分(文件的第一个名称,交互文件和值),如下所示:

for i in int_list:
    for names in name_list:
       name = names.split(' ')

分割后,您可以使用name[0]来测试通信。

答案 1 :(得分:0)

熊猫'数据框可能对你有很大帮助。

import pandas as pd

name_list = pd.read_csv('Names',sep = '\t')
int_list = pd.read_csv('ints',sep = '\t')

int_list[int_list.isin(name_list)]