docs: def load_csvf(fpath, fieldnames, encoding):
      """
      :param unicode fpath:
      :param Optional[list[unicode]] fieldnames:
      :param unicode encoding:
      :rtype: List[dict]
      """
      with open(fpath, mode='r', encoding=encoding) as f:
          snippet = f.read(8192)
          f.seek(0)
  
          dialect = csv.Sniffer().sniff(snippet)
          dialect.skipinitialspace = True
          return list(csv.DictReader(f, fieldnames=fieldnames, dialect=dialect))