【Ruby3.x】CSV::parse()メソッドの使い方
parseメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
parseメソッドは、CSV(Comma Separated Values)形式の文字列データを解析し、Rubyのプログラムで扱いやすいデータ構造に変換するメソッドです。このメソッドは、引数としてCSV形式の文字列を受け取り、その内容を行と列に分割して、通常はRubyの二次元配列(配列の配列)として返します。
CSVデータがカンマ以外の区切り文字を使用している場合や、値が引用符で囲まれている場合、あるいはデータにヘッダ行が含まれている場合など、多様なCSV形式に対応できるよう、さまざまなオプションを指定して解析ルールを細かく制御できます。
また、parseメソッドはブロックを渡して呼び出すことも可能です。この場合、CSVデータ全体を一度にメモリに読み込むのではなく、行ごとにブロックにデータを渡して処理を実行します。これにより、非常に大きなCSVファイルを扱う際にもメモリ効率良く処理を進めることができます。
オプションの設定によっては、戻り値が単なる配列の配列ではなく、ヘッダ情報をキーとして値にアクセスできるCSV::Tableオブジェクトとして返されることもあります。この機能は、ファイルから読み込んだCSVデータや、ネットワーク経由で取得したCSV形式のデータをプログラム内で効果的に処理するための、非常に強力で基本的なツールです。
構文(syntax)
1require 'csv' 2 3csv_data = "Name,Age\nAlice,30\nBob,25" 4CSV.parse(csv_data)
引数(parameters)
str, **options, &block
- str: 解析対象のCSVデータを含む文字列
- options: 解析方法を制御するオプションのハッシュ
- block: 各行の解析後に実行されるブロック(省略可能)
戻り値(return)
CSV::Table または nil
CSV::Tableオブジェクト、またはパースに失敗した場合はnilを返します。