[英]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.