code: def _load_from_disk(
      self, path_to_file: Path, metadata: DatasetLoaderMetadata
  ) -> Union[TimeSeries, List[TimeSeries]]:
      df = pd.read_csv(path_to_file)
      if metadata.header_time is not None:
          df = self._format_time_column(df)
          series = TimeSeries.from_dataframe(
              df=df, time_col=metadata.header_time, freq=metadata.freq
          )
      else:
          df.sort_index(inplace=True)
          series = TimeSeries.from_dataframe(df)
  
      if (
          self._metadata.multivariate is not None
          and self._metadata.multivariate is False
      ):
          try:
              series = self._to_multi_series(series.pd_dataframe())
          except Exception as e:
              raise DatasetLoadingException(
                  "Could not convert to multi-series. Reason:"
                  + e.__repr__()
              ) from None
  
      return series
  
imports: import hashlib
  import os
  import tempfile
  import zipfile
  from abc import ABC, abstractmethod
  from dataclasses import dataclass
  from pathlib import Path
  from typing import Callable, List, Optional, Union
  import pandas
  import requests
  from darts import TimeSeries
  from darts.logging import get_logger
label_desc: Use image node_id 2 for calling the DatasetLoaderCSV obj's underlying member method code with example usage: obj._load_from_disk(path_to_file, metadata) and returns: series