python csv头不在第一行

python csv头不在第一行,python,csv,Python,Csv,我有一个csv文件被,删除。 第一行包含报表名称,第二行包含报表数据。 标题在第3行,所有其他行都是数据。 如何使用csv模块从第3行而不是第1行读取标题? 下面是我现在拥有的 import csv f = open ("myfile.csv", "rb") reader = csv.reader(f, delimiter=",") headers = reader.next() 可以使用放弃迭代器中的项 from itertools import islice reader = islice

我有一个csv文件被
删除。 第一行包含报表名称,第二行包含报表数据。 标题在第3行,所有其他行都是数据。 如何使用csv模块从第3行而不是第1行读取标题? 下面是我现在拥有的

import csv
f = open ("myfile.csv", "rb")
reader = csv.reader(f, delimiter=",")
headers = reader.next()
可以使用放弃迭代器中的项

from itertools import islice
reader = islice(csv.reader(f, delimiter=","), 2, None)

如果文件不是很大,您可以读取所有内容,然后丢弃前两行:

with file("myfile.csv", "rb") as f:
    reader = csv.reader(f, delimiter=',')
    lines = list(reader)[2:]
headers, value_rows = lines[0], lines[1:]
for row in value_rows:
    ...

也许您可以迭代,直到得到所需的行:

import csv
headerLine = 3
f = open ("myfile.csv", "rb")
reader = csv.reader(f, delimiter=",")
for ii in range(0, headerLine):
    headers = reader.next()

调用
reader.next()
next(reader)
3次@falsetru是对的。
csv
模块不会检查所有行是否相同,因此您可以调用
next()
来使用它们并将它们扔掉。实际上,如果您想要从额外的行中读取数据,您可以一次读取一行(如果需要,保存它),然后创建
csv.reader
对象。执行此操作时,文件的当前位置不必在开始时就显示出来。