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

【Ruby3.x】CSV::Table::[]=()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

[]=メソッドは、CSV::Tableクラスにおいて、CSVデータが格納された表形式のデータに行を追加または既存の行を更新するメソッドです。

CSV::Tableは、CSVファイルの内容を行と列からなる表として扱うためのクラスです。この[]=メソッドは、特定の行番号を指定し、その位置に新しいデータを行として設定する際に使用されます。

このメソッドでは、第一引数に行のインデックス(0から始まる整数)を取り、第二引数にはその行に設定したいデータ(通常は配列、またはCSV::Rowオブジェクト)を渡します。例えば、table[0] = ["新しい", "データ"]のように記述して、インデックス0の行に新しいデータを代入します。

指定されたインデックスに既にデータが存在する場合、既存のデータは新しいデータによって完全に上書きされます。また、テーブルの現在の行数を超えるインデックスを指定した場合には、テーブルの行数を拡張し、指定された位置に新しい行を追加することが可能です。その際、間に存在しない行は自動的にnil値で埋められます。

この機能により、プログラミングを通じてCSVデータを柔軟に操作し、表の途中のデータを修正したり、計算結果の行を最後に追加したりするなど、特定の行の内容変更や新しいデータの追加が容易になります。システムエンジニアを目指す方にとって、データ処理の基本となるCSVデータの操作において非常に役立つメソッドです。

構文(syntax)

1require 'csv'
2
3table = CSV::Table.new([
4  CSV::Row.new(['header1', 'header2'], ['value1a', 'value1b']),
5  CSV::Row.new(['header1', 'header2'], ['value2a', 'value2b'])
6])
7
8table[0] = ['new_value1', 'new_value2']

引数(parameters)

index_or_header, value

  • index_or_header: 取得・設定したい行のインデックス(整数)またはヘッダー名(文字列、シンボル)
  • value: 設定したい値

戻り値(return)

CSV::Row

CSV::Tableオブジェクトの指定されたインデックス(行)に、指定されたCSV::Rowオブジェクトを代入します。代入されたCSV::Rowオブジェクト自身が戻り値として返されます。

関連コンテンツ