def rows_to_dicts(self, serialize_cell=None):
    """Generates a sequence of dictionaries of {header[i] => row[i]} for each row."""
    if serialize_cell is None:
      serialize_cell = self.get_cell_value
    # keys = [serialize_cell(cell) for cell in self.rows[0]]
    keys = self.headers(serialize_cell)
    for row in self.rows[1:]:
      yield dict(zip(keys, [serialize_cell(cell) for cell in row]))
Generates a sequence of dictionaries of {header[i] => row[i]} for each row.