Jeśli masz plik csv o nazwie „blah.csv”, to wygląda tak
a,b,c,d
1,2,3,4
2,3,4,5
3,4,5,6
wiesz, że możesz otworzyć plik do czytania i utworzyć DictReader za pomocą
blah = open('blah.csv', 'r')
reader= csv.DictReader(blah)
Wtedy będziesz mógł pobrać następną linię reader.next()
, która powinna zostać wyświetlona
{'a':1,'b':2,'c':3,'d':4}
ponowne użycie go przyniesie
{'a':2,'b':3,'c':4,'d':5}
Jednak w tym momencie, jeśli użyjesz blah.seek(0)
, następnym razem, gdy zadzwonisz reader.next()
, otrzymasz
{'a':1,'b':2,'c':3,'d':4}
jeszcze raz.
Wydaje się, że jest to funkcja, której szukasz. Jestem pewien, że są pewne sztuczki związane z tym podejściem, których jednak nie jestem świadomy. @Brian zasugerował po prostu utworzenie kolejnego DictReadera. To nie zadziała, jeśli pierwszy czytelnik jest w połowie czytania pliku, ponieważ nowy czytnik będzie miał nieoczekiwane klucze i wartości z dowolnego miejsca w pliku.