CSVファイルから特定列を抜き出す
fastercsvを使うだけ.ruby標準のcsvライブラリは激遅."で囲ってあるのも対応.
- fastercsvのインストール
$ gem install fastercsv
- 次のファイルをcsv.rb とでもして保存
#!/usr/bin/env ruby require 'rubygems' require 'fastercsv' cols = ARGV.shift.split(",") FasterCSV.foreach(ARGV.shift) do |row| puts cols.map{|c| "\"" + row[c.to_i] + "\""}.join(",") end
- csv.rb の使い方
- 1列目と3列目を取り出す(行の数え方が0オリジンなので,cut -f2,4に相当)