66

Possible Duplicate: When processing CSV data, how do I ignore the first line of data?

I am using python to open CSV file. I am using formula loop but I need to skip the first row because it has header.

So far I remember was something like this but it is missing something: I wonder if someone knows the code for what I am trying to do.

for row in kidfile:
    if row.firstline = false:  # <====== Something is missing here.
        continue
    if ......
2
  • Why would someone show you but not let you take notes, and why is that relevant to your question? Commented Feb 3, 2013 at 16:12
  • Use csv_data.__next__() for 3.x and csv_data.next() for 2.x. More details are stackoverflow.com/a/63096202/10961238 Commented Jul 26, 2020 at 4:52

3 Answers 3

143

There are many ways to skip the first line. In addition to those said by Bakuriu, I would add:

with open(filename, 'r') as f:
    next(f)
    for line in f:

and:

with open(filename,'r') as f:
    lines = f.readlines()[1:]
Sign up to request clarification or add additional context in comments.

1 Comment

If one of the values in the first row can contain a newline \n character, this won't work.
82

The best way of doing this is skipping the header after passing the file object to the csv module:

with open('myfile.csv', 'r', newline='') as in_file:
    reader = csv.reader(in_file)
    # skip header
    next(reader)
    for row in reader:
        # handle parsed row

This handles multiline CSV headers correctly.


Older answer:

Probably you want something like:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line

An other way to achive the same result is calling readline before the loop:

kidfile.readline()   # skip the first line
for row in kidfile:
    #parse the line

2 Comments

The next function is a much more concise approach.
If one of the values in the first row can contain a newline \n character, this won't work.
27

csvreader.next() Return the next row of the reader’s iterable object as a list, parsed according to the current dialect.

1 Comment

In python3, the method is reader.__next__(), which should be called by using next(reader)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.