Ruby での CSV からの解析 [終了]
概要
ヘッダーのない CSV ファイルから行を取得しようとしています。
require "csv"
filepath = "data/beatles.csv"
csv_options = { col_sep: ',', quote_char: '"', headers: :first_row }
CSV.foreach(filepath, csv_options) do |row|
puts row[0]
end
そして、私はいつもこのエラーを受け取りました:
解決策
CSV::foreach は、 path_or_io 引数の後にオプションの名前付き引数を期待します。ハッシュ オブジェクトを渡そうとしています。ハッシュを名前付き引数のリストに展開するように Ruby に依頼する必要があります。これはダブルスプラットで行われます。
csv_options = { col_sep: ',', quote_char: '"', headers: :first_row }
CSV.foreach(filepath, **csv_options) do |row|
# whatever
end
実際に対処する必要があるものに一致するように csv_options を適切に修正します。たとえば、質問に記載されているようにヘッダーがない場合は、ヘッダーを指定しないでください。