import csv rulefile = open('test.csv','r', encoding='utf-8') x = 0 keysdict = dict() refdict = dict() spamreader = csv.reader(rulefile, delimiter=',', quotechar='"') for line in spamreader: y = 0 if x == 0: for l in line: keysdict[l] = y y += 1 else: for k in keysdict: if k != 'id': refdict[line[keysdict['id']]][k] = line[keysdict[k]] x += 1