Если у вас есть 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. Это не сработает, если вы первый читатель на полпути к чтению файла, поскольку у вашего нового читателя будут неожиданные ключи и значения, где бы вы ни находились в файле.