如何在python中找到单个csv文件的两列之间的交集(公共元素)?

时间:2019-06-18 10:52:04

标签: python python-3.x csv intersection reader

我在一个csv文件中几乎有两列(1000行),没有标题(制表符分隔)。列值的样本内容如下。它可以是一个短语或一个单词。

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 个答案:

答案 0 :(得分:1)

使用set-> set.intersection

例如:

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'}