CSV array

This is CSV file processing method, may be helpful for you.

1.Let's say you havesample.csv file:

Name,Lastname,Email,Birth Date,Hometown
Alberto,Grespan,ag@gmail.com,30/11/1986,Mérida
Pedro,Perez,pp@gmail.com,4/4/1984,Caracas
John,Doe,jd@gmail.com,,Kansas
José,González,jg@gmail.com,16/10/1984,Madrid
Andrés,Márquez,,18/3/1987,Caracas
  


2.  You can convert it into hash
 
[
  {:name=>"Alberto", :lastname=>"Grespan", :email=>"ag@gmail.com", :birth_date=>"30/11/1986", :hometown=>"Mérida"},
  {:name=>"Pedro", :lastname=>"Perez", :email=>"pp@gmail.com", :birth_date=>"4/4/1984", :hometown=>"Caracas"},
  {:name=>"John", :lastname=>"Doe", :email=>"jd@gmail.com", :birth_date=>nil, :hometown=>"Kansas"},
  {:name=>"José", :lastname=>"González", :email=>"jg@gmail.com", :birth_date=>"16/10/1984", :hometown=>"Madrid"},
  {:name=>"Andrés", :lastname=>"Márquez", :email=>nil, :birth_date=>"18/3/1987", :hometown=>"Caracas"}
] 
 
3. write 'irb' and get into terminal:
require 'csv'
 
data = CSV.read("sample.csv", {encoding: "utf-8", headers: true, header_converters: :symbol, converters: :all})
 
 hashed_data = data.map {|d| d.to_hash }

ingeed boloo

4. You can see f1st row content by :


hashed_data[:col1]

Comments