Jestem początkujący w Pythonie. Próbuję teraz dowiedzieć się, dlaczego druga pętla "for" nie działa w następującym skrypcie. Chodzi o to, że mogłem uzyskać wynik pierwszej pętli "za", ale nic z drugiej. Skopiowałem i wkleiłem mój skrypt i plik danych CSV poniżej.Dlaczego nie mogę powtórzyć pętli for dla csv.Reader? (Python)
Pomocne będzie, jeśli powiesz mi, dlaczego tak działa i jak zrobić drugą pętlę "za".
mój skrypt:
import csv
file = "data.csv"
fh = open(file, 'rb')
read = csv.DictReader(fh)
for e in read:
print(e['a'])
for e in read:
print(e['b'])
"Data.csv":
a,b,c
tree,bough,trunk
animal,leg,trunk
fish,fin,body
Czy fileobject (nie CSV) czyta się w ten sam sposób? – SIslam
@SIslam: Tak, jeśli dobrze cię rozumiem. Jeśli wykonujesz iterację po pliku, to gdy dojdziesz do końca, wyczerpiesz iterator i nie będziesz mógł czytać więcej, dopóki nie zaczniesz od początku. – BrenBarn