Skip first line(field) in loop using CSV file?
Solution 1
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
Solution 2
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:]
Solution 3
csvreader.next() Return the next row of the reader’s iterable object as a list, parsed according to the current dialect.
Raitis Kupce
I am SEO specialist, part time programmer and web developer.
Updated on July 09, 2022Comments
-
Raitis Kupce almost 2 years
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 ......
-
travc about 9 yearsIn python3, the method is
reader.__next__()
, which should be called by usingnext(reader)
-
vaer-k over 7 yearsThe
next
function is a much more concise approach. -
Alexander Oh almost 4 yearsI believe this is the most elegant variant. Thanks!
-
Boris Verkhovskiy about 3 yearsIf one of the values in the first row can contain a newline
\n
character, this won't work. -
Boris Verkhovskiy about 3 yearsIf one of the values in the first row can contain a newline
\n
character, this won't work.