def __iter__(self): if self.select_headers: column_selection = [ self.columns.index(x) for x in self.select_headers ] leftcol = min(column_selection) rightcol = max(column_selection) column_indexes = [x - leftcol for x in column_selection] iterator = self.sheet.iter_rows( min_col=leftcol + 1, # 1-indexed arguements. max_col=rightcol + 1) next(iterator) # Skip header. for row in iterator: values = [ row[i].value if row[i].value != None else '' for i in column_indexes ] if all(x == None or x == '' for x in values): continue yield ReportEntry(self.select_headers, values, self.autotypecast) else: iterator = self.sheet.iter_rows() next(iterator) # Skip header. for row in iterator: values = [x.value if x.value != None else '' for x in row] if all(x == None or x == '' for x in values): continue yield ReportEntry(self.columns, values, self.autotypecast)
def __iter__(self): iterator = self.sheet.iter_rows() iterator.next() # Skip header. for row in iterator: values = [x.value if x.value != None else '' for x in row] if not any(values): continue yield ReportEntry(self.columns, values, self.autotypecast)
def __call__(self, query): cursor = self.conn.execute(query) columns = tuple(d[0] for d in cursor.description) columns = tuple( (c[1:-1] if c[0] == c[-1] == '"' else c) for c in columns) for row in cursor: yield ReportEntry(columns, row)
def __iter__(self): self.fh.seek(0) # start at beginning of the file next(self.csv) # ignore headers for row in self.csv: if self.infer_types: row = list(map(infer_and_convert_type, row)) if not len(row): continue elif len(row) != len(self.columns): import warnings warnings.warn('Incomplete row encountered in CSV: %s' % ','.join(map(str, row))) row += [''] * (len(self.columns) - len(row)) yield ReportEntry(columns=self.columns, values=row)
def __iter__(self): self.fh.seek(0) # start at beginning of the file self.csv.next() # ignore headers for row in self.csv: # will convert default column values to correct type yield ReportEntry(columns=self.columns, values=row)
def __iter__(self): for index in range(1, self.sheet.nrows): row = self.sheet.row(index) yield ReportEntry(self.columns, [x.value for x in row], self.autotypecast)
def __iter__(self): '''Returns the rows of data (not the headers) for reading''' for i,row in enumerate(self._data): if i == 0: continue yield ReportEntry(columns=self.columns, values=row)
def __iter__(self): for row in self.conn.execute('select * from %s' % self.table_name): yield ReportEntry(self.columns, row)