code: def col_append(self, col_key, value_list):
          
          if col_key in self._col_keys:
              raise KeyError('Key %s already exists col keys.' % col_key)
          if not isinstance(value_list, (tuple, list)):
              value_list = [value_list] * len(self._row_keys)
          if not len(value_list) == len(self._row_keys):
              raise ValueError('Length of data to set does not meet expected col length of %i' % len(self._row_keys))
          self._col_keys.append(col_key)
          for r, v in zip(self._row_keys, value_list):
              self[r, col_key] = v
docs: append a new row to a DataRange
  
          :param row_key: a string
          :param value_list: a list