Quick question on how to properly write data back into a CSV file using the python csv module. Currently i'm importing a file, pulling a column of dates and making a column of days_of_the_week using the datetime module. I want to then write out a new csv file (or overright the individual one) containing one original element and the new element.
with open('new_dates.csv') as csvfile2: readCSV2 = csv.reader(csvfile2, delimiter=',') incoming = [] for row in readCSV2: readin = row[0] time = row[1] year, month, day = (int(x) for x in readin.split('-')) ans = datetime.date(year, month, day) wkday = ans.strftime("%A") incoming.append(wkday) incoming.append(time) with open('new_dates2.csv', 'w') as out_file: out_file.write('\n'.join(incoming)) Input files looks like this:
2017-03-02,09:25 2017-03-01,06:45 2017-02-28,23:49 2017-02-28,19:34 When using this code I end up with an output file that looks like this:
Friday 15:23 Friday 14:41 Friday 13:54 Friday 7:13 What I need is an output file that looks like this:
Friday,15:23 Friday,14:41 Friday,13:54 Friday,7:13 If I change the delimiter in out_file.write to a comma I just get one element of data per column, like this:
Friday 15:23 Friday 14:41 Friday 13:54 .... Any thoughts would be appreciated. Thanks!
'\n'.join(incoming). Try replacing that \n with a space to get the desired output; for a real csv, use ","