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

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

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

作成日: 更新日:

基本的な使い方

linenoメソッドは、RubyのCSV::Parserクラスのインスタンスが、現在解析しているCSVデータの行番号を取得するために実行するメソッドです。

このメソッドは、CSV::ParserオブジェクトがCSVファイルや文字列からデータを読み込み、構造を解析していく過程で、現在どの行を処理しているかを知るために使用されます。linenoメソッドを呼び出すと、現在処理中の行番号を整数値として取得することができます。

行番号は1から始まり、CSVデータの最初の行(ヘッダー行を含む)が1行目としてカウントされます。CSV::Parserがデータを一行ずつ読み進めるたびに、このメソッドが返す行番号も自動的に増加していきます。

この機能は、CSVデータの処理中にエラーが発生した場合や、特定の行に対して特別な処理を適用したい場合に特に役立ちます。例えば、データ形式の不整合などによってパースエラーが発生した際、linenoメソッドで現在の行番号を取得することで、問題が発生した具体的な場所を特定し、ユーザーに分かりやすいエラーメッセージを表示したり、デバッグ作業を効率的に進めたりすることができます。

システムエンジニアを目指す初心者の方にとっては、大量のCSVデータを扱う際に、処理の進行状況を把握し、エラー発生時の原因特定を助ける基本的なツールとして理解しておくと、実務でデータの整合性を保つ上で非常に有用です。

構文(syntax)

1require 'csv'
2require 'stringio'
3
4data = "header1,header2\nvalue1,value2\nvalue3,value4"
5io = StringIO.new(data)
6csv = CSV.new(io)
7
8csv.gets
9puts csv.lineno
10
11csv.gets
12puts csv.lineno

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integer

CSVの解析中に、現在処理している行の番号を整数で返します。

関連コンテンツ