Tôi là người mới bắt đầu của Python. Tôi đang cố gắng tìm ra lý do tại sao vòng lặp 'for' thứ hai không hoạt động trong tập lệnh sau. Tôi có nghĩa là tôi chỉ có thể nhận được kết quả của vòng lặp 'for' đầu tiên, nhưng không có gì từ kết quả thứ hai. Tôi đã sao chép và dán tập lệnh của tôi và dữ liệu csv ở bên dưới.Tại sao tôi không thể lặp lại vòng lặp 'for' cho csv.Reader? (Python)
Sẽ rất hữu ích nếu bạn cho tôi biết tại sao nó lại theo cách này và cách làm cho vòng lặp 'for' thứ hai hoạt động tốt.
SCRIPT của tôi:
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
là fileobject (không csv) đọc theo cùng một cách? – SIslam
@SIslam: Vâng, nếu tôi hiểu bạn đúng. Nếu bạn lặp qua một tập tin, sau đó khi bạn nhận được đến cùng bạn đã cạn kiệt các iterator và không thể đọc nữa, trừ khi bạn tìm kiếm trở lại đầu. – BrenBarn