import csv
first = True
header = None
objs = []
for line in csv.reader(open('test_csv', 'r'), delimiter=' '):
if first :
header = line
first = False
else:
objs.append(dict(zip(header, line)))
print objs
a b c d e
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
[{'a': '1', 'c': '3', 'b': '2', 'e': '5', 'd': '4'}, {'a': '6', 'c': '8', 'b': '7', 'e': '10', 'd': '9'}, {'a': '11', 'c': '13', 'b': '12', 'e': '15', 'd': '14'}]