docs: def csv_to_obj(cls, file_path=None, text='', columns=None,
                     remove_empty_rows=True, key_on=None, deliminator=',',
                     eval_cells=True):
          """
          This will convert a csv file or csv text into a seaborn table
          and return it
          :param file_path: str of the path to the file
          :param text: str of the csv text
          :param columns: list of str of columns to use
          :param remove_empty_rows: bool if True will remove empty rows
                  which can happen in non-trimmed file
          :param key_on: list of str of columns to key on
          :param deliminator: str to use as a deliminator, defaults to ,
          :param eval_cells: bool if True will try to evaluate numbers
          :return: SeabornTable
          """
          lines = cls._get_lines(file_path, text, replace=u'\ufeff')
          for i in range(len(lines)):
              lines[i] = lines[i].replace('\r', '\n')
              lines[i] = lines[i].replace('\\r', '\r').split(',')
          data = cls._merge_quoted_cells(lines, deliminator, remove_empty_rows,
                                         eval_cells)
          row_columns = data[0]
          if len(row_columns) != len(set(row_columns)):  # make unique
              for i, col in enumerate(row_columns):
                  count = row_columns[:i].count(col)
                  row_columns[i] = '%s_%s' % (col, count) if count else col
  
          return cls.list_to_obj(data[1:], columns=columns,
                                 row_columns=row_columns, key_on=key_on)