May-01-2018, 06:52 PM
This is much easier to deal with as a plain list.
Here's the two methods compared:
Here's the two methods compared:
import csv def read_file1(filename): with open(filename, 'r') as f: # with open(r'C:\Users\delliott\Desktop\pythoncsv\Q3\eat.csv', 'rt') as f: reader = csv.DictReader(f, delimiter=',') for row in reader: print(row) def read_file2(filename): with open(filename, 'r') as f: reader = csv.reader(f) for row in reader: print(row) if __name__ == '__main__': print('\n\nUsing read_file1') read_file1('eat.csv') print('\n\nUsing read_file2') read_file2('eat.csv')results:
Output:Using read_file1
OrderedDict([('person_id', '90'), ('type', 'check_in'), ('arrive_date', '2/15/2018'), ('leave_date', '2/15/2018')])
OrderedDict([('person_id', '90'), ('type', 'brunch'), ('arrive_date', '2/15/2018'), ('leave_date', '2/15/2018')])
OrderedDict([('person_id', '90'), ('type', 'lunch '), ('arrive_date', '2/15/2018'), ('leave_date', '2/15/2018')])
OrderedDict([('person_id', '90'), ('type', 'cancelled'), ('arrive_date', '2/16/2018'), ('leave_date', '2/16/2018')])
OrderedDict([('person_id', '90'), ('type', 'breakfast '), ('arrive_date', '2/15/2018'), ('leave_date', '2/22/2018')])
OrderedDict([('person_id', '80'), ('type', ''), ('arrive_date', ''), ('leave_date', '')])
OrderedDict([('person_id', '40'), ('type', 'check_in'), ('arrive_date', '2/15/2018'), ('leave_date', '2/15/2018')])
OrderedDict([('person_id', '50'), ('type', 'check_in'), ('arrive_date', '2/15/2018'), ('leave_date', '3/1/2018')])
OrderedDict([('person_id', '50'), ('type', 'breakfast '), ('arrive_date', '2/15/2018'), ('leave_date', '2/26/2018')])
OrderedDict([('person_id', '50'), ('type', 'lunch '), ('arrive_date', '2/15/2018'), ('leave_date', '3/1/2018')])
OrderedDict([('person_id', '60'), ('type', 'check_in'), ('arrive_date', '2/15/2018'), ('leave_date', '2/15/2018')])
OrderedDict([('person_id', '60'), ('type', 'dinner'), ('arrive_date', '2/15/2018'), ('leave_date', '2/15/2018')])
OrderedDict([('person_id', '60'), ('type', 'lunch '), ('arrive_date', '2/21/2018'), ('leave_date', '2/21/2018')])
OrderedDict([('person_id', '60'), ('type', 'breakfast '), ('arrive_date', '3/15/2018'), ('leave_date', '3/15/2018')])
OrderedDict([('person_id', '35'), ('type', 'check_in'), ('arrive_date', '3/15/2018'), ('leave_date', '3/15/2018')])
OrderedDict([('person_id', '35'), ('type', 'cancelled'), ('arrive_date', '3/20/2018'), ('leave_date', '3/20/2018')])
OrderedDict([('person_id', '35'), ('type', 'cancelled'), ('arrive_date', '3/21/2018'), ('leave_date', '3/21/2018')])
Using read_file2
['person_id', 'type', 'arrive_date', 'leave_date']
['90', 'check_in', '2/15/2018', '2/15/2018']
['90', 'brunch', '2/15/2018', '2/15/2018']
['90', 'lunch ', '2/15/2018', '2/15/2018']
['90', 'cancelled', '2/16/2018', '2/16/2018']
['90', 'breakfast ', '2/15/2018', '2/22/2018']
['80', '', '', '']
['40', 'check_in', '2/15/2018', '2/15/2018']
['50', 'check_in', '2/15/2018', '3/1/2018']
['50', 'breakfast ', '2/15/2018', '2/26/2018']
['50', 'lunch ', '2/15/2018', '3/1/2018']
['60', 'check_in', '2/15/2018', '2/15/2018']
['60', 'dinner', '2/15/2018', '2/15/2018']
['60', 'lunch ', '2/21/2018', '2/21/2018']
['60', 'breakfast ', '3/15/2018', '3/15/2018']
['35', 'check_in', '3/15/2018', '3/15/2018']
['35', 'cancelled', '3/20/2018', '3/20/2018']
['35', 'cancelled', '3/21/2018', '3/21/2018']