code: def csv(ticker, path="data.csv", field="", mrefresh=False, **kwargs):
      """
      Data provider wrapper around pandas' read_csv. Provides memoization.
      """
      # set defaults if not specified
      if "index_col" not in kwargs:
          kwargs["index_col"] = 0
      if "parse_dates" not in kwargs:
          kwargs["parse_dates"] = True
  
      # read in dataframe from csv file
      df = pd.read_csv(path, **kwargs)
  
      tf = ticker
      if field != "" and field is not None:
          tf = "%s:%s" % (tf, field)
  
      # check that required column exists
      if tf not in df:
          raise ValueError("Ticker(field) not present in csv file!")
  
      return df[tf]
  
file_path: ffn/ffn/data.py
imports: import ffn
  import pandas
  import yfinance
  from packaging.version import Version
  from pandas_datareader import data
  from .None import utils
label_desc: Use image node_id 5 for calling a global function with example usage: csv(ticker, path, field, mrefresh) and returns: df