Самый простой способ сопоставить CSV-файл с текстовым файлом для общих строк
У меня есть список строк в файле CSV и другой текстовый файл, который я хотел бы найти для этих строк. Файл CSV содержит только строки, которые меня интересуют, но в текстовом файле есть куча других текстов, вкрапленных в строки, представляющие интерес (строки, которые меня интересуют, представляют собой идентификационные номера для базы данных белков). Каким будет самый простой способ сделать это? Я хочу проверить текстовый файл на наличие каждой строки в файле CSV. Я работаю в исследовательской лаборатории в одном из лучших университетов, так что вы помогаете самым современным исследованиям!
Спасибо:)
1 ответ
Решение
Я бы использовал Python для этого. Чтобы напечатать совпадающие строки, вы можете сделать это:
import csv
with open("strings.csv") as csvfile:
reader = csv.reader(csvfile)
searchstrings = {row[0] for row in reader} # Construct a set of keywords
with open("text.txt") as txtfile:
for number, line in enumerate(txtfile):
for needle in searchstrings:
if needle in line:
print("Line {0}: {1}".format(number, line.strip()))
break # only necessary if there are several matches per line