Python 3.x 使用';下一个';CSV模块中的方法

Python 3.x 使用';下一个';CSV模块中的方法,python-3.x,csv,Python 3.x,Csv,为什么下面的代码会返回两次输出?我知道我需要使用print(line)而不是print(row),但我只是好奇为什么print(row)会返回两次输出 with open ('data.csv','r') as data: reader = csv.DictReader(data) row = next(reader) for line in reader: print(row) 结果: OrderedDict([('\ufeffProgramming language',

为什么下面的代码会返回两次输出?我知道我需要使用print(line)而不是print(row),但我只是好奇为什么print(row)会返回两次输出

with open ('data.csv','r') as data:
  reader = csv.DictReader(data)
  row = next(reader)
  for line in reader:
    print(row)
结果:

OrderedDict([('\ufeffProgramming language', 'Python'), ('Designed by', 'Guido van Rossum'), ('Appeared', '1991'), ('Extension', '.py')])

OrderedDict([('\ufeffProgramming language', 'Python'), ('Designed by', 'Guido van Rossum'), ('Appeared', '1991'), ('Extension', '.py')])
row=next(读卡器)
首先读取CSV的第一行

然后,在循环体中有
print(row)
而不是
print(line)
,因此它会为每一行重复打印CSV的第一行。在本例中,CSV文件中还有两行,因此它会打印两次