Как найти пересечение (общие элементы) между двумя столбцами одного CSV-файла в Python? - PullRequest
0 голосов
/ 18 июня 2019

У меня почти два столбца (1000 строк) в CSV-файле без заголовков (разделенных табуляцией). Пример содержимого столбца значения следующие. Это может быть фраза или одно слово.

Формат файла CSV:

ac           home          

home         big         

new city     city

city         paris

heat         waves

blood        blood pressure

relation     blood

Формат ввода (Изменить):

enter image description here

Я хочу вычислить общие элементы между двумя столбцами файла CSV? Существует ли какой-либо способ. Я абсолютно не знаю, как этого добиться.

Я совершенно новичок в файле (.csv) и его вариантах. Любая помощь очень ценится.

выход

home, city, blood

Я знаю, как вычислить пересечение двух словарей, списков и т. Д. Но это не поможет мне найти желаемое решение.

1 Ответ

1 голос
/ 18 июня 2019

Использование set -> set.intersection

Ex:

import csv

with open(filename) as infile:
    reader = csv.reader(infile, delimiter="\t")
    c1, c2 = set(), set()
    for row in reader:
        if row:
            c1.add(row[0])
            c2.add(row[1])

print(c1.intersection(c2))

Выход:

{'home', 'city', 'blood'}
...