def read(stringio_or_string, filetype, options={})
      raise ArgumentError.new("The filetype parameter should be either :csv or :txt") unless [:csv, :txt].include?(filetype)
      t = stringio_or_string.respond_to?(:read) ? stringio_or_string.read : stringio_or_string.to_s
      t = text_to_utf8(t)
      send(:"parse_#{filetype}", t, options)
    end
def read(stringio_or_string, filetype, options={})
      raise ArgumentError.new("The filetype parameter should be either :csv or :txt") unless [:csv, :txt].include?(filetype)
      t = stringio_or_string.respond_to?(:read) ? stringio_or_string.read : stringio_or_string.to_s
      t = text_to_utf8(t)
      send(:"parse_#{filetype}", t, options)
    end
Load the CSV data contained in the given StringIO or String object

 @param [StringIO] stringio_or_string StringIO stream or String object, with data in CSV format
 @param [Symbol] filetype (currently only :csv or :txt), indicating the format of the first parameter