code: def get_data(self,
                   file_path=sys.stdin,
                   delimiter=',',
                   categories_delimiter=None):
          
          if file_path == sys.stdin:
              logger.info('Read data from standard input')
              lines = [line.replace('\n', '') for line in file_path]
          else:
              logger.info('Read data from file ' + file_path)
              with open(file_path) as file:
                  lines = list(file)
          columns = lines[0].rstrip('\n').split(delimiter)[1:]
          categories = None
          if categories_delimiter:
              columns, categories = zip(*[c.split(categories_delimiter, 1)
                                          for c in columns])
          size = len(columns)
          data = [list(map(int, l.split(delimiter)[1:]))
                  for l in lines[1:size + 1]]
          return DesignStructureMatrix(data, columns, categories)
docs: Implement get_dsm method from Provider class.
  
          Parse CSV to return an instance of DSM.
  
          Args:
              file_path (str/fd): path or file descriptor.
              delimiter (str): character(s) used as delimiter for columns.
              categories_delimiter (str):
                  character(s) used as delimiter for categories and keys
                  (first column).
  
          Returns:
              DSM: instance of DSM.