首页 Python 试图了解python csv .next()

试图了解python csv .next()

我有以下代码是教程的一部分 import csv as csvimport numpy as npcsv_file_object = csv.reader(open(train.csv, rb))header = csv_file_object.next()data = []for row in csv_file_object: data.append(row)da

我有以下代码是教程的一部分

import csv as csv
import numpy as np

csv_file_object = csv.reader(open("train.csv",'rb'))
header = csv_file_object.next()

data = []
for row in csv_file_object:
    data.append(row)
data = np.array(data)

代码的工作原理是应该的,但我不清楚为什么在变量头文件中调用.next()可以工作.是不是csv_file_object仍然是整个文件?当csv_file_object中的行被调用时,程序知道如何跳过标题行,因为它不会出现变量头被定义后被引用?

解决方法

作为调用next()的结果,标题行被“跳过”.这就是迭代器的工作原理.

当循环遍历迭代器时,它的next()方法每次被调用.每个调用使迭代器进行.当for循环开始时,迭代器已经在第二行,它从那里开始.

这是the documentation在next()方法(here’s another piece).

重要的是,csv.reader对象是迭代器,就像open()返回的文件对象一样.您可以对它们进行迭代,但是在任何给定的时刻它们都不包含所有行(或任何行).

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/python/20201215/13671.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部