CSV::parse
Ruby が CSV をデータのテーブルとして理解し、ヘッダーから値に簡単にアクセスできるようにするために、おそらく使用したいと思うでしょう。
残念ながら、このメソッドに関する入手可能なドキュメントではCSV::parse
、この目的で実際にどのように使用するかについてはあまり明確ではありません。
私は同様のタスクを持っていて、CSVクラスのドキュメントやここからそれを指す回答よりも、rubyguides.comのRubyでCSVファイルを読み込んで解析する方法によってはるかに助けられました.
そのページ全体を読むことをお勧めします。CSV::Table
重要な部分は、以下を使用して特定の CSV をオブジェクトに変換することです。
table = CSV.parse(File.read("cats.csv"), headers: true)
classに関するドキュメントCSV::Table
がありますが、ここでも rubyguides.com ページの明確な例が役立つかもしれません。ここで強調しておきたいことの 1 つは、.parse
ヘッダーを予期するように指示すると、結果のテーブルでデータの最初の行が row として扱われること[0]
です。
.by_col
おそらく、新しいTable
オブジェクトで使用できるメソッドに特に関心があるでしょう。これにより、入力および/または出力の異なる列インデックス位置を反復処理し、一方から他方にコピーするか、出力に新しい値を追加できます。動作するようになったら、戻って例を投稿します。