Read_with_new.rb

This content was produced by an LLM and could include errors.

このスクリプトは File.open で開いたIOを CSV.new(f, headers: true) に渡し、先頭行をヘッダーとして解析します。各行(CSV::Row)に対して each でヘッダー名と値のペアを順に出力し、行間に空行を挟みます。パーサーを明示的に生成して使い回す場合の基本形です。

require 'csv'
#=> true

File.open("input/csv/file.csv", "r") do |f|
  csv = CSV.new(f, headers: true)
  csv.each do |line|
    line.each do |header, val|
      p [header, val]
    end
    puts
  end
end
["key", "key1"]
["value", "value1"]

["key", "key2"]
["value", "value2"]

["key", "key3"]
["value", "value3"]

#=> nil

Ruby 4.0.6