def flatten_data(self, data): """ Convert the given data collection to a list of dictionaries that are each exactly one level deep. The key for each value in the dictionaries designates the name of the column that the value will fall into. """ flat_data = OrderedRows(data.header if hasattr(data, 'header') else None) for item in data: flat_item = self.flatten_item(item) flat_data.append(flat_item) return flat_data
def flatten_data(self, data): """ Convert the given data collection to a list of dictionaries that are each exactly one level deep. The key for each value in the dictionaries designates the name of the column that the value will fall into. """ flat_data = OrderedRows( data.header if hasattr(data, 'header') else None) for item in data: flat_item = self.flatten_item(item) flat_data.append(flat_item) return flat_data
def parse(self, stream, media_type=None, parser_context=None): parser_context = parser_context or {} delimiter = parser_context.get('delimiter', ',') try: rows = csv.reader(stream, delimiter=delimiter) data = OrderedRows(rows.next()) for row in rows: row_data = dict(zip(data.header, row)) data.append(row_data) return data except Exception, exc: raise ParseError('CSV parse error - %s' % unicode(exc))
def parse(self, stream, media_type=None, parser_context=None): parser_context = parser_context or {} delimiter = parser_context.get('delimiter', ',') try: encoding = parser_context.get('encoding', settings.DEFAULT_CHARSET) rows = unicode_csv_reader(universal_newlines(stream), delimiter=delimiter, charset=encoding) data = OrderedRows(next(rows)) for row in rows: row_data = dict(zip(data.header, row)) data.append(row_data) return data except Exception as exc: raise ParseError('CSV parse error - %s' % str(exc))
def parse(self, stream, media_type=None, parser_context=None): parser_context = parser_context or {} delimiter = parser_context.get('delimiter', ',') try: encoding = parser_context.get('encoding', settings.DEFAULT_CHARSET) rows = unicode_csv_reader(universal_newlines(stream), delimiter=delimiter, charset=encoding) data = OrderedRows(next(rows)) for row in rows: row_data = dict(zip(data.header, row)) data.append(row_data) return data except Exception as exc: raise ParseError('CSV parse error - %s' % str(exc))