所以我有这两个for循环,第一个循环通过csv阅读器,第二个循环通过csv DictReader。当打印结果时,我看到第一行从第一行开始,第二行从第二行开始,我不知道为什么,因为这是一个新循环。当我注释掉第一行时,第二行通常从第一行开始。这是代码:
csvFile = open('contactscsv.csv', 'r')
headerReaderReader = csv.reader(csvFile)
headerReaderDict = csv.DictReader(csvFile)
for row in headerReaderReader:
print(row)
break
for row in headerReaderDict:
print(row)
break
您正在从同一个打开的文件对象中读取,因此您的第一个headerReaderReader = csv.reader(csvFile)
从第一个未读行开始,而headerReaderDict = csv.DictReader(csvFile)
从下一个未读行开始。如果您将它们重新排序为
headerReaderDict = csv.DictReader(csvFile)
headerReaderReader = csv.reader(csvFile)
for row in headerReaderReader:
print(row)
break
for row in headerReaderDict:
print(row)
break
然后headerReaderReader
从第二行开始,headerReaderDict
从第一行开始。