Rubyでcsvファイルを1行ずつ行番号つきで読み込む

概要

タイトル通り。
行数に応じて処理を分岐したかったので調べてみた。

実装例

Shift_JISからUTF-8に変換して読み込む場合。
numが1から始まる行番号を表す。

# encoding:UTF-8

require 'csv'

CSV.foreach(path, encoding: "Shift_JIS:UTF-8") do |line|
  num = $.

  # 行ごとの処理
end

まとめ

num = $.で行番号を取得できるよ!