0 で始まる数値は8進数だから、:numeric ではバグル

012 は、10 になる。
一方、09 は8進数では存在しないから、9 となる

require "csv"

text = <<'TEXT'
"09",1
"012",2
TEXT

csv = CSV.new( text )
csv.convert( :numeric )

p csv.read
#=> [ [9.0, 1], [10, 2] ]