【Ruby3.x】CSV::convert()メソッドの使い方
convertメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
convertメソッドは、CSVデータを読み込む際に、各フィールドの値に適用する変換ルールを定義したハッシュを生成・返却するメソッドです。
このメソッド自体が直接データの変換を実行するわけではなく、CSV.parseやCSV.readといったCSV読み込みメソッドのオプションとして渡すための「変換器」の設定を行います。具体的には、引数として渡されるハッシュのキーにCSVのヘッダ名(カラム名)を、値にそのカラムのフィールド値に適用したい変換処理を記述します。変換処理はProcオブジェクトやブロックとして定義します。
例えば、「価格」というヘッダのカラムに対しては文字列を整数に変換する処理を、「日付」というヘッダのカラムに対しては文字列を日付オブジェクトに変換する処理を、といった具合に、カラムごとに異なる変換ルールを設定できます。これにより、読み込み時に特定のカラムのデータを自動的に適切な型に変換したり、特定の形式に整形したりしたい場合に非常に便利です。CSVデータを読み込んだ後の手動での型変換作業を減らし、コードの可読性と保守性を高めることができます。
構文(syntax)
1require 'csv' 2 3CSV.convert(nil, "some_value")
引数(parameters)
name = nil, &converter
- name = nil: CSVの列名を指定します。指定しない場合はnilとなります。
- converter: &converter: 変換処理を行うブロックを指定します。
戻り値(return)
nil
CSV::convert メソッドは、変換処理を実行しますが、明示的な戻り値はありません。