修复Python错误AttributeError: _csv.reader Object Has No Attribute Next

CSV格式是电子表格和数据库中最常用的格式之一。Python语言有csv模块,它提供了以CSV格式读取和写入数据的类。

属性是与对象或类相关的值。在Python中,当你调用一个对象的属性,而该对象的类型不受该方法的支持时,就会出现一个AttributeError

例如,在文件对象上使用split()方法会返回AttributeError,因为文件对象不支持split()方法。

本教程将教你修复Python中的AttributeError: '_csv.reader' object has no attribute 'next'

修复Python中的错误AttributeError: '_csv.reader' object has no attribute 'next' 

csv.reader对象是迭代器。next()方法在csv.reader对象中可用,并返回可迭代对象的下一行。

import csv
with open(csvfile) as f:
	reader = csv.reader(f, delimiter=',', quotechar='"', skipinitialspace=True)
	header = reader.next()
	f.close()

输出:

line 5, in <module>
    header = reader.next()
AttributeError: '_csv.reader' object has no attribute 'next'

但是在Python 3中,你必须使用内置函数next(reader)而不是reader.next()方法。

import csv
with open(csvfile) as f:
	reader = csv.reader(f, delimiter=',', quotechar='"', skipinitialspace=True)
	header = next(reader)
	f.close()

AttributeError应该用Python解决。我们希望您发现这篇文章有帮助。