python 读取文件时next和seek的应用

数据分析,需要读取第一行的属性名,再依次读取后续数据

with open("/路径/AllElectronics.csv",'r') as allElectronicsData:
    reader=csv.reader(allElectronicsData)#注释1
    headers=next(reader)#读取文件第一行,详见注释2

    for row in reader:#继续读取后续内容
        labelList.append(row[-1])#读取类别,即每一行的最后一个数据
        ……

注释1:注意使用csv.reader时,open参数如设置为’rb’会报错,具体见http://blog.csdn.net/darlingwood2013/article/details/70858086
注释2:版本3.2以前写法为reader.next()。next后reader指向下一行,因此后续的for循环中,row依次为第二行至最后一行,labelList的赋值中不会再出现第一行的内容。可用allElectronicsData.seek(0)返回文件开始位置

seek() 方法
用于移动文件读取指针到指定位置。
语法如下:
fileObject.seek(offset[, whence])
参数:
offset – 开始的偏移量,也就是代表需要移动偏移的字节数
whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
该函数没有返回值。

next() 方法
Python 3 中的 File 对象不支持 next() 方法。 Python 3 的内置函数 next() 通过迭代器调用 next() 方法返回下一项。 在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发 StopIteration语法
语法如下:
next(iterator[,default])
参数:无
返回值:返回文件下一行。

更多file方法
http://www.runoob.com/python3/python3-file-methods.html

你可能感兴趣的:(python)