RFQ wrote: > I have a comma delimited file where each line in the file is something > like: > > PNumber,3056,Contractor,XYZ Contracting,Architect,ABC Architects,... > > So each line is intended to be: key1,value1,key2,value2,key3,value3... > and each line is to be variable in length (although it will have to be > an even number of records so that each key has a value). > > I want to read in this csv file and parse it into a list of > dictionaries. So each record in the list is a dictionary: > > {"PNumber":"3056","Contractor":"XYZ Contracting", ... }
>>> row ['PNumber', '3056', 'Contractor', 'XYZ Contracting', 'Architect', 'ABC'] >>> dict(zip(row[::2], row[1::2])) {'Architect': 'ABC', 'PNumber': '3056', 'Contractor': 'XYZ Contracting'} A bit more elegant: >>> irow = iter(row) >>> dict(zip(irow, irow)) {'Architect': 'ABC', 'PNumber': '3056', 'Contractor': 'XYZ Contracting'} Peter -- http://mail.python.org/mailman/listinfo/python-list