Если вы всегда смотрите ровно на две последовательные строки, мне кажется, что вы могли бы выиграть от использования парного рецепта .Из модуля itertools :
from itertools import tee, izip
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return izip(a, b)
Вы можете использовать это так:
for first_dict, second_dict in pairwise(csv.DictReader(stream)):
# do stuff with first_dict and second_dict