Interseção e outras operações no arquivo CSV

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.