i open file , read csv.dictreader. iterate on twice, second time nothing printed. why this, , how can make work?
with open('myspreadsheet.csv', 'ru') wb: reader = csv.dictreader(wb, dialect=csv.excel) row in reader: print row row in reader: print 'xxxxx' # xxxxx not printed
you read entire file first time iterated, there nothing left read second time. since don't appear using csv data second time, simpler count number of rows , iterate on range second time.
import csv itertools import count open('myspreadsheet.csv', 'ru') f: reader = csv.dictreader(f, dialect=csv.excel) row_count = count(1) row in reader: next(count) print(row) in range(row_count): print('stack overflow') if need iterate on raw csv data again, it's simple open file again. likely, should iterating on data stored first time, rather reading file again.
with open('myspreadsheet.csv', 'ru') f: reader = csv.dictreader(f, dialect=csv.excel) row in reader: print(row) open('myspreadsheet.csv', 'ru') f: reader = csv.dictreader(f, dialect=csv.excel) row in reader: print('stack overflow') if don't want open file again, can seek beginning, skip header, , iterate again.
with open('myspreadsheet.csv', 'ru') f: reader = csv.dictreader(f, dialect=csv.excel) row in reader: print(row) f.seek(0) next(reader) row in reader: print('stack overflow')
Comments
Post a Comment