Если у вас есть файл csv с именем 'blah.csv'. Это выглядит так:
a,b,c,d
1,2,3,4
2,3,4,5
3,4,5,6
вы знаете, что можете открыть файл для чтения и создать DictReader с
blah = open('blah.csv', 'r')
reader= csv.DictReader(blah)
Затем вы сможете получить следующую строку reader.next()
, которая должна выводить
{'a':1,'b':2,'c':3,'d':4}
повторное использование произведет
{'a':2,'b':3,'c':4,'d':5}
Однако на этом этапе, если вы используете blah.seek(0)
, в следующий раз, когда вы позвоните, reader.next()
вы получите
{'a':1,'b':2,'c':3,'d':4}
очередной раз.
Кажется, это именно та функциональность, которую вы ищете. Я уверен, что с этим подходом связаны некоторые уловки, о которых я не знаю. @Brian предложил просто создать еще один DictReader. Это не сработает, если вы первый читатель на полпути к чтению файла, так как у вашего нового читателя будут неожиданные ключи и значения из любого места в файле.