code: def read_csv(fname, sep=','):
      
      with open(fname, encoding='utf-8-sig') as f:
          header = next(f).strip().split(sep)
          dt = numpy.dtype([(h, numpy.bool if h == 'vs30measured' else float)
                            for h in header])
          return numpy.loadtxt(f, dt, delimiter=sep)
docs: :param fname: a CSV file with an header and float fields
      :param sep: separato (default the comma)
      :return: a structured array of floats