code: def save_items(self, rows=None, verbose=False):
          
          if rows:
              rows = rows
          else:
              rows = list(range(self.GetNumberRows()))
          cols = list(range(self.GetNumberCols()))
          data = {}
          for row in rows:
              data[row] = {}
              for col in cols:
                  col_name = self.GetColLabelValue(col)
                  if verbose:
                      print(col_name, ":", self.GetCellValue(row, col))
                  data[row][col_name] = self.GetCellValue(row, col)
          return data
docs: Return a dictionary of row data for selected rows:
          {1: {col1: val1, col2: val2}, ...}
          If a list of row numbers isn't provided, get data for all.