I have a csv file with, say, 50 rows of data, and I would like to split it into separate csv files for each row, which includes first row (header) and the the relevant row.
I have tried this and it works fine for your purpose. Unfortunately, I didn't get any csvfile_out error
and your with statement works correctly in my Python 2.7.12 console.
import csv
counter = 1
with open('mock_data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
row1 = next(reader) # here you save your first line of the .csv file
for row in reader:
if row: # if row is not empty, write a file with this row
filename = "file_%s" % str(counter)
with open(filename, 'w') as csvfile_out:
writer = csv.writer(csvfile_out)
writer.writerow(row1) #here you write your row1 as first row of csvfile_out
writer.writerow(row)
counter = counter + 1