Sep-03-2017, 01:57 PM
I'm trying to parse a csv file using python. The csv file contains 2 columns with order_total and created_datetime.
[inline]24.99 2015-06-01 00:00:12
0 2015-06-01 00:03:15
164.45 2015-06-01 00:04:05
24.99 2015-06-01 00:08:01
0 2015-06-01 00:08:23
46.73 2015-06-01 00:08:51
0 2015-06-01 00:08:58
47.73 2015-06-02 00:00:25
101.74 2015-06-02 00:04:11
119.99 2015-06-02 00:04:35
38.59 2015-06-02 00:05:26
73.47 2015-06-02 00:06:50
34.24 2015-06-02 00:07:36
27.24 2015-06-03 00:01:40
82.2 2015-06-03 00:12:21
23.48 2015-06-03 00:12:35[/inline]
I need to print the total for each day. For instance the output should be -
2015-06-01 -> 261.16
2015-06-02 -> 415.75
2015-06-03 -> 132.92
Below is my code and its not working as expected -
[inline]24.99 2015-06-01 00:00:12
0 2015-06-01 00:03:15
164.45 2015-06-01 00:04:05
24.99 2015-06-01 00:08:01
0 2015-06-01 00:08:23
46.73 2015-06-01 00:08:51
0 2015-06-01 00:08:58
47.73 2015-06-02 00:00:25
101.74 2015-06-02 00:04:11
119.99 2015-06-02 00:04:35
38.59 2015-06-02 00:05:26
73.47 2015-06-02 00:06:50
34.24 2015-06-02 00:07:36
27.24 2015-06-03 00:01:40
82.2 2015-06-03 00:12:21
23.48 2015-06-03 00:12:35[/inline]
I need to print the total for each day. For instance the output should be -
2015-06-01 -> 261.16
2015-06-02 -> 415.75
2015-06-03 -> 132.92
Below is my code and its not working as expected -
def sum_orders_test(self,start_date,end_date): initial_date = datetime.date(int(start_date.split('-')[0]),int(start_date.split('-')[1]),int(start_date.split('-')[2])) final_date = datetime.date(int(end_date.split('-')[0]),int(end_date.split('-')[1]),int(end_date.split('-')[2])) day = datetime.timedelta(days=1) with open("file1.csv", 'r') as data_file: next(data_file) reader = csv.reader(data_file, delimiter=',') order_total=0 if initial_date <= final_date: for row in reader: if str(initial_date) in row[1]: print 'initial_date : ' + str(initial_date) print 'Date : ' + row[1] order_total = order_total + row[0] else: print 'Else' print 'Date ' + str(row[1]) + 'Total ' +str(order_total) order_total=0 initial_date = initial_date + day