Read_with_read_bom.rb

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

このスクリプトはBOM付きUTF-8ファイルへの対応例です。encoding: "BOM|UTF-8" を指定するとBOMの有無を自動判別して読み飛ばすため、Excel由来のCSVでも先頭ヘッダーが汚れません。headers: true + map(&:to_h) により全行がハッシュの配列(ここでは3件)へ変換されます。

require 'csv'
#=> true
CSV.read('input/csv/file.csv', encoding: "BOM|UTF-8", headers: true).map(&:to_h)
#=> [{"key" => "key1", "value" => "value1"},
 {"key" => "key2", "value" => "value2"},
 {"key" => "key3", "value" => "value3"}]

Ruby 4.0.6