簡體   English   中英

比較兩個文件並返回匹配項

[英]Compare two files and return matching terms

我在一些我認為應該很容易的事情上遇到了一些麻煩。

我有兩個文件,都是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) 

我確定我在這里遺漏了一些非常基本的東西,但任何幫助將不勝感激。

干杯:)

你必須將你的名字分成 3 部分(文件的名字、交互文件和值),如下所示:

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

拆分后,您可以使用name[0]來測試對應關系。

Pandas 的數據框可能會對此有很大幫助。

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)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM