Enviei uma campanha por e-mail para a lista errada, então para ter uma noção do que está acontecendo (quem abriu, quem clicou) eu fiz este pequeno script
import csv
a = set()
with open('a.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='|')
for r in spamreader:
a.add((r[0],r[1],r[2])) # I only needed email, first and last name
b = set()
with open('b.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='|')
for r in spamreader:
b.add((r[0],r[1],r[2]))
intersection = a & b
for x in intersection:
print ",".join(x)
Uma vez que eles são representados como conjuntos, você pode fazer subtração, união etc.