質問

How would I remove the first line of a CSV file in python, the first few lines of my CSV file are:

Domain Name, ItemID, Auction Type, Time Left, Price, Bids, Domain Age, Traffic,ValuationPrice
TICKETFINE.COM,134774365,Bid,05/09/2014 08:00 AM (PDT),$100,0,0,0,$0
CREATINGMY.COM,134774390,Bid,05/09/2014 08:00 AM (PDT),$500,0,0,0,$0
WPTHEMEHELP.COM,134774444,Bid,05/09/2014 08:00 AM (PDT),$45,1,0,0,$0
APK-ZIPPY.COM,134774445,Bid,05/09/2014 08:00 AM (PDT),$10,0,0,0,$0
FAMILYBUZZMARKETING.COM,134689583,Bid,05/09/2014 08:00 AM (PDT),$90,0,0,0,$0
AMISRAGAS.COM,134689584,Bid,05/09/2014 08:00 AM (PDT),$35,0,0,0,$0
役に立ちましたか?

解決

with open("test.csv",'r') as f:
    with open("updated_test.csv",'w') as f1:
        next(f) # skip header line
        for line in f:
            f1.write(line)

他のヒント

This is what I do when I want to skip reading the first line of a CSV.

All that has to be done is call the next() function of the CSV object, in this case - read, and then the pointer to the reader will be on the next line.

import csv

try:
    read = csv.reader(f)
    read.next()     # Skip the first 'title' row.
    for r in read:
        # Do something
finally:
    # Close files and exit cleanly
    f.close()

Hope this is pretty clean an simple for your purposes!

For anyone else caught up this error:

AttributeError: '_io.TextIOWrapper' object has no attribute 'next' python

In Python3 a text file object doesn't have a next() function. So you can't call f.next().

Instead you should use f.readline() as specified in this answer.

Or you can use the built-in next(f) which @vrjr mentioned in the comment, and is shown in this answer.

Are you opening it and re-saving it with the same name?

Otherwise, you could read it in without reading in the first line and writing to a new file without that line.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top