Jika Anda memiliki file csv bernama 'blah.csv' Sepertinya
a,b,c,d
1,2,3,4
2,3,4,5
3,4,5,6
Anda tahu bahwa Anda dapat membuka file untuk membaca, dan membuat DictReader dengan
blah = open('blah.csv', 'r')
reader= csv.DictReader(blah)
Kemudian, Anda akan bisa mendapatkan baris berikutnya dengan reader.next()
, yang seharusnya menghasilkan
{'a':1,'b':2,'c':3,'d':4}
menggunakannya lagi akan menghasilkan
{'a':2,'b':3,'c':4,'d':5}
Namun, pada titik ini jika Anda menggunakan blah.seek(0)
, lain kali Anda menelepon reader.next()
Anda akan mendapatkan
{'a':1,'b':2,'c':3,'d':4}
lagi.
Tampaknya ini adalah fungsi yang Anda cari. Saya yakin ada beberapa trik yang terkait dengan pendekatan ini yang tidak saya sadari. @ Brian menyarankan untuk membuat DictReader lain. Ini tidak akan berfungsi jika Anda adalah pembaca pertama setengah jalan membaca file, karena pembaca baru Anda akan memiliki kunci dan nilai yang tidak terduga dari mana pun Anda berada dalam file.