Se hai un file CSV denominato "blah.csv", questo è simile a
a,b,c,d
1,2,3,4
2,3,4,5
3,4,5,6
sai che puoi aprire il file per la lettura e creare un DictReader con
blah = open('blah.csv', 'r')
reader= csv.DictReader(blah)
Quindi, sarai in grado di ottenere la riga successiva con reader.next()
, che dovrebbe essere visualizzata
{'a':1,'b':2,'c':3,'d':4}
usandolo di nuovo produrrà
{'a':2,'b':3,'c':4,'d':5}
Tuttavia, a questo punto se usi blah.seek(0)
, la prossima volta che chiamerai reader.next()
riceverai
{'a':1,'b':2,'c':3,'d':4}
ancora.
Questa sembra essere la funzionalità che stai cercando. Sono sicuro che ci sono alcuni trucchi associati a questo approccio di cui tuttavia non sono a conoscenza. @Brian ha suggerito semplicemente di creare un altro DictReader. Questo non funzionerà se il tuo primo lettore è a metà della lettura del file, poiché il tuo nuovo lettore avrà chiavi e valori imprevisti da qualsiasi punto del file.