def run_open_dialog(self): if self.open_dialog.run(): self.init() #self.update_all() #self.fields_statusbar_label.set_text('Go!') csv_filename = self.open_dialog.get_filename() reader = csv.get_reader( csv_filename ) #this will fail if null bytes are found, as in xls files self.fields = reader.next() error_found = False for i in range( len( self.fields ) ): if not self.fields[i]: error_found = True #raise CSV_Header_Exception, 'Empty Header Fields Found in CSV File :(' if error_found: self.show_warning('Error: Empty Header Fields found in CSV File :(') is_data = True idx = 1 while is_data: try: self.fields_data.append( dict( zip( [ '_id_' ] + self.fields, [ idx ] + reader.next() ) ) ) idx += 1 except (StopIteration): is_data = False
def save_csv_file(self, filename, cols, data): if filename: writer = csv.get_writer( filename ) #columns writer.writerow( cols ) #rows for row in data: reordered = [] for field in cols: reordered.append( "%s" % ( row[field] ) ) writer.writerow( reordered )