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

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

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

作成日: 更新日:

基本的な使い方

line_numberメソッドは、CSVファイルの処理中に形式不正エラーが発生した際、そのエラーが起きた行番号を取得するメソッドです。

このメソッドは、Rubyの標準ライブラリであるCSVモジュールが提供するCSV::MalformedCSVErrorという例外クラスに属しています。CSV::MalformedCSVErrorは、CSVライブラリがCSVファイルを読み込む際に、ファイルの内容がCSVの標準的な形式(例えば、引用符の閉じ忘れやカラム数の不一致など)に沿っていないと判断した場合に発生します。

line_numberメソッドを呼び出すと、このエラーが発生したCSVファイルの具体的な行番号を整数値として取得できます。この行番号は、CSVファイルの先頭から1を数え始めるため、実際に問題が起きた場所を正確に示します。

システムエンジニアを目指す方にとって、CSVファイルのデータ処理は非常に頻繁に遭遇するタスクの一つです。このメソッドを利用することで、不正な形式のCSVデータに遭遇した場合でも、エラーが具体的にどの行で発生しているのかを迅速に特定できます。これにより、問題の調査や修正、またはエラー発生時の適切なハンドリング(例えば、ログ出力やスキップ処理など)の実装が容易になり、より堅牢で信頼性の高いシステムを開発するために非常に役立ちます。

構文(syntax)

1require 'csv'
2
3begin
4  CSV.parse("col1,col2\nrow1,\"unclosed_quote")
5rescue CSV::MalformedCSVError => e
6  e.line_number
7end

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integer

CSVの解析中に不正な形式の行が見つかった際に、その不正な行が何行目であったかを表す整数値を返します。

関連コンテンツ

関連プログラミング言語