読み込み

require "csv"

CSV.open("test.csv", headers: true) do |csv|
  csv.class # => CSV
  csv.first # => #<CSV::Row "id":"1" "first name":"taro" "last name":"tanaka" "age":"20">
end

書き込み

require "csv"

CSV.open("path/to/file.csv", "w") do |csv|
  csv << ["row", "of", "CSV", "data"]
  csv << ["another", "row"]
  # ...
end

参考