(Feb-13-2017, 09:29 AM)wavic Wrote: Just get the index of the first column and a slice for the second from the list generated for each .csv row.
If I understood correctly, he wish to have _one_ file for the _respective_ colum, that is: not a slice, but just this one column, and the next colum in another file?
And if the data amount is not too big, maybe one could do the datasplitting on a list generated from the source file and do the writing later as 'in one go' for each file?
Edit:
Something like this? I'm not sure how efficient it is for big data amounts, but for a small set, it seems to do what it should (except that it makes a needless file with the dates two times).
import csv f = open("testcsv.csv") csv_f = csv.reader(f, delimiter=',') firstlinedone = False listoffiles = [] for line in csv_f: # for the first line, make all files if firstlinedone == False: for columnumber, column in enumerate(line): newfilename = "test" + str(columnumber) + ".csv" # one can also do more formatting here for the filename newfile = open(newfilename, 'wb') listoffiles.append(newfile) firstlinedone == True for columnumber, column in enumerate(line): csvwriter = csv.writer(listoffiles[columnumber], delimiter = ',') csvwriter.writerow([line[0], line[columnumber]]) for anyfile in listoffiles: anyfile.close() f.close()