Example #1
0
File: wb.py Project: jigstar/tutti
def iterate_rows(wb: Book):
    """Iterates all rows in all workbook sheets, using first row as header.

    Yields:
        Each non-header row, as a dictionary of header key to value.
    """
    for s in wb.sheets():
        col_names = s.row(0)
        for row_nr in range(1, s.nrows):
            row = {}
            for name, col_nr in zip(col_names, range(s.ncols)):
                value = s.cell(row_nr, col_nr).value
                row[name.value] = value
            yield row