了解python的文件句柄和csv阅读器

时间:2016-05-08 04:15:45

标签: python csv

当我们使用csv.reader时,有人可以帮助我理解行为 - 显然在同一个函数句柄中的csv.reader的第二个实例中似乎是空的。有人可以解释我的操作/原因吗?

def getAllCategories(self, file):
    csvread = csv.reader(file, delimiter=',')
    for row in csvread:
        print row[3]

    reader = csv.reader(file, delimiter=',')
    for row1 in reader:
        print " -------------- "

1 个答案:

答案 0 :(得分:1)

file的内容已被第一位读者使用。一旦csvread读取所有行,它就会将文件指针移动到文件末尾,因此没有什么可以为第二个读取器读取。

在创建第二个阅读器之前,您可以使用seek将文件指针移回文件的开头:

file.seek(0)