Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】CSV::Row::values_at()メソッドの使い方

values_atメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

values_atメソッドは、RubyのCSV::Rowクラスに属し、CSVファイルの一行を表すオブジェクトから、指定されたインデックスまたはヘッダ名に対応する複数の値を取り出して配列として返すメソッドです。CSV::Rowオブジェクトは、各列のデータを0から始まる数値のインデックス、またはCSVファイルのヘッダ行で定義された名前(文字列)で識別します。

このメソッドを使用することで、一行のデータの中から、必要な特定の列のデータだけを効率的に抽出することが可能です。例えば、顧客情報が格納されたCSVファイルから、氏名とメールアドレスの列のデータのみをまとめて取得したい場合などに役立ちます。

引数には、取り出したい値のインデックス番号やヘッダ名を複数指定できます。メソッドは、これらの引数を指定された順序で評価し、対応する値を見つけて新しい配列に格納し、その配列を戻り値として返します。もし、指定されたインデックスやヘッダ名に該当する値がオブジェクト内に存在しない場合は、その位置にはnilが挿入されます。これにより、データの一部が欠けている場合でも、返される配列の構造は一貫して保たれます。

この機能は、CSVデータを加工したり、特定の項目を抽出してレポートを作成したりする際に、データの選択と整理を柔軟に行うための重要な手段となります。

構文(syntax)

1require 'csv'
2
3row = CSV::Row.new(["Name", "Age", "City"], ["Alice", 30, "Tokyo"])
4row.values_at("Name", 2)

引数(parameters)

*indices

  • indices: 取得したい値に対応する列のインデックス(0から始まる整数)を可変長引数で指定します

戻り値(return)

Array

CSV::Row#values_at は、指定されたインデックスまたはキーに対応する値の配列を返します。

関連コンテンツ

関連プログラミング言語