我们首先要知道什么是可迭代的对象(可以用for循环的对象)Iterable:
一类:list,tuple,dict,set,str
二类:generator,包含生成器和带yield的generatoe function
而生成器不但可以作用于for,还可以被next()函数不断调用并返回下一个值,可以被next()函数不断返回下一个值的对象称为迭代器:Iterator
生成器都是Iterator对象,但list,dict,str是Iterable,但不是Iterator,要把list,dict,str等Iterable转换为Iterator可以使用iter()函数
next()用法:
next(iterator[, default])
iterator – 可迭代对象
default – 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。
list_ = [1,2,3,4,5]
it = iter(list_)
next(it,’-1’)
1next(it,’-1’)
2next(it,’-1’)
3next(it,’-1’)
4next(it,’-1’)
5next(it,’-1’
next()函数自动调用文件第一行并返回下一行
import csv
filename = r'C:\Users\22240\Desktop\lianxi\sitka_weather_07-2014.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
xiayihang = next(reader)
print(header_row)
print(xiayihang)
这是打印出来的结果
[‘AKDT’, ‘Max TemperatureF’, ‘Mean TemperatureF’, ‘Min TemperatureF’, ‘Max Dew PointF’, ‘MeanDew PointF’, ‘Min DewpointF’, ‘Max Humidity’, ’ Mean Humidity’, ’ Min Humidity’, ’ Max Sea Level PressureIn’, ’ Mean Sea Level PressureIn’, ’ Min Sea Level PressureIn’, ’ Max VisibilityMiles’, ’ Mean VisibilityMiles’, ’ Min VisibilityMiles’, ’ Max Wind SpeedMPH’, ’ Mean Wind SpeedMPH’, ’ Max Gust SpeedMPH’, ‘PrecipitationIn’, ’ CloudCover’, ’ Events’, ’ WindDirDegrees’]
[‘2014-7-1’, ‘64’, ‘56’, ‘50’, ‘53’, ‘51’, ‘48’, ‘96’, ‘83’, ‘58’, ‘30.19’, ‘30.00’, ‘29.79’, ‘10’, ‘10’, ‘10’, ‘7’, ‘4’, ‘’, ‘0.00’, ‘7’, ‘’, ‘337’]
这是源文件可以看出打印出来了前两行内容