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

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

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

作成日: 更新日:

基本的な使い方

CSV.foreachメソッドは、CSVファイルを1行ずつ効率的に読み込み、その各行に対して指定された処理を実行するメソッドです。このメソッドは、特に大量のデータを含むCSVファイルを扱う際に非常に有用で、ファイル全体を一度にメモリに読み込むことなく、メモリ使用量を抑えながら順次データを処理することができます。

利用する際は、読み込みたいCSVファイルのパスを第一引数に指定し、必要に応じてヘッダ行の有無や区切り文字の種類など、追加のオプションをハッシュ形式で与えることができます。このメソッドは必ずブロックを伴って呼び出され、ブロック内にはCSVの各行に対する具体的な処理を記述します。ブロックには、読み込まれた1行分のデータが配列、またはCSV::Rowオブジェクトとして渡されます。CSV::Rowオブジェクトとして受け取った場合、もしCSVファイルにヘッダ情報があれば、そのヘッダ名をキーとして各カラムのデータにアクセスできるため、コードの可読性が向上します。

このように、CSV.foreachメソッドは、RubyでCSVファイルのパース、加工、抽出といった一連のデータ処理を安全かつ効率的に行うための基本的な手段として広く利用されています。

構文(syntax)

1require 'csv'
2
3CSV.foreach(file_path_string, options_hash = {}) do |row_object|
4end

引数(parameters)

path, mode = nil, **options, &block

  • path: CSVファイルのパスを指定する文字列
  • mode = nil: ファイルを開くモードを指定します。nilの場合はデフォルトのモードが使用されます。
  • **options: その他のオプションを指定するハッシュ(連想配列)
  • &block: 各行を処理するためのブロック(処理内容)

戻り値(return)

nil

CSV.foreach は、CSV ファイルの各行をブロックで処理した後に nil を返します。

関連コンテンツ

関連プログラミング言語