I tried this proposed solution on a large (7000 line) csv file): Read File From Line 2 or Skip Header Row`
The following code worked but only if I manually remove the header:
RatedTracksFile = open('pyall_rated.csv')
RatedTracksReader = csv.reader(RatedTracksFile)
data_list = list(csv.reader(RatedTracksFile))
eligible1 = open('py_all1.csv', 'a') # open py_all1.csv in append mode
for i in range(len(data_list)):
trackrating = int(data_list[i][12])
...
I tried different ways of adding this suggested code:
with open(fname) as f:
next(f)
for line in f:
I am new to python and cannot figure out how to add that in. I keep getting the same value type error since it still reads row 1,col 12 (which is a string from the header) and not the integer found on row 2, col 12:
ValueError: invalid literal for int() with base 10: 'GroupDesc'
SOLVED: Based on Sphinx' comment below (thanks!).
To read CSV file without header, use the header parameter and set it to “None” in the read_csv() method.
Another way of solving this is to use the DictReader class, which "skips" the header row and uses it to allowed named indexing.
If your header contains your column names, the nicest solution is to use csv.DictReader
>>> import csv
>>> with open('names.csv') as csvfile:
... reader = csv.DictReader(csvfile)
... for row in reader:
... print(row['first_name'], row['last_name'])
...
Baked Beans
Lovely Spam
Wonderful Spam
import csv
with open("1800.csv", "rb") as files:
reader = csv.reader(files)
next(reader, None)
for data in reader:
print data
This is working for me, try this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With