您是在第一次迭代时读取了整个文件,因此第二次读取时没有什么可剩下的。由于您似乎没有第二次使用csv数据,因此计算行数并第二次仅遍历该范围会更简单。
import csvfrom itertools import countwith open('MySpreadsheet.csv', 'rU') as f: reader = csv.DictReader(f, dialect=csv.excel) row_count = count(1) for row in reader: next(count) print(row)for i in range(row_count): print('Stack Overflow')如果您需要再次遍历原始csv数据,则再次打开文件很简单。最有可能的是,您应该遍历第一次存储的某些数据,而不是再次读取文件。
with open('MySpreadsheet.csv', 'rU') as f: reader = csv.DictReader(f, dialect=csv.excel) for row in reader: print(row)with open('MySpreadsheet.csv', 'rU') as f: reader = csv.DictReader(f, dialect=csv.excel) for row in reader: print('Stack Overflow')如果您不想再次打开文件,则可以查找到开头,跳过标题,然后再次进行迭代。
with open('MySpreadsheet.csv', 'rU') as f: reader = csv.DictReader(f, dialect=csv.excel) for row in reader: print(row) f.seek(0) next(reader) for row in reader: print('Stack Overflow')


