【Ruby3.x】CSV::FieldsConverter::convert()メソッドの使い方
convertメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
convertメソッドは、CSV::FieldsConverterクラスのインスタンスに設定された変換ルールに基づき、CSVデータの個々のフィールド(項目)の値を、指定された形式に変換するメソッドです。
このメソッドは、CSVファイルを読み込む際に、文字列として読み込まれたフィールド値を、数値、日付、真偽値といったより適切なデータ型へ自動的に変換するために、CSVライブラリの内部で利用されます。引数には、変換対象のフィールド値と、そのフィールドに関する詳細情報を含むCSV::FieldInfoオブジェクトが渡され、事前に設定された変換ロジックが適用されます。そして、変換後の新しい値が戻り値として返されます。
このconvertメソッドは、主にCSV.parseやCSV.readなどのメソッドでconvertersオプションが指定された際に、裏側で各フィールドに対して呼び出されます。手動での型変換の手間を省き、CSVデータの読み込みから利用までの前処理を自動化することで、データ処理の効率と信頼性を大幅に向上させる重要な役割を担っています。
構文(syntax)
1converter.convert(field, field_info)
引数(parameters)
fields, headers, lineno, quoted_fields = nil
- fields: Array<String>: CSVの1行から読み取られたフィールドの配列
- headers: Array<String> or nil: CSVのヘッダー行のフィールドの配列、またはヘッダーがない場合はnil
- lineno: Integer: 現在処理している行番号
- quoted_fields: Array<String> or nil = nil: クォートされたフィールドの配列、またはクォートされたフィールドがない場合はnil
戻り値(return)
Array
CSVの各フィールドの変換処理が完了した結果として、変換後のフィールド値を配列で返します。