code: def load_csv(
      data_source, chunk_size=None, sep="\t", verbose=False, **kwargs
  ):
      """CSV data loader.
  
      Parameters
      ---------
      data_source: str
          csv file with data, separated by ``sep``.
      chunk_size: int
          The size of chunk to be used while reading the data. If used, the returned type is
          an iterator and not a numpy array.
      sep: str
          Separator in the csv file, e.g. line "1,2,3\n" has ``sep=","``, while "1 2 3\n" has ``sep=" "``.
  
      Returns
      -------
      data: ndarray or iter
          Either a numpy array with data or a lazy iterator if ``chunk_size`` was provided.
      """
      data = pd.read_csv(
          data_source,
          sep=sep,
          chunksize=chunk_size,
          header=None,
          **kwargs,
      )
      logger.debug("data type: {}".format(type(data)))
      logger.debug("CSV loaded, into iterator data.")
  
      if isinstance(data, pd.DataFrame):
          return data.values
      else:
          return data
  
file_path: AmpliGraph/ampligraph/datasets/source_identifier.py
imports: import logging
  from collections.abc import Iterable
  from itertools import chain, islice
  import numpy
  import pandas
label_desc: Use image node_id 1 for calling a global function with example usage: load_csv(data_source, chunk_size, sep, verbose) and returns: data, data