タブ区切りのデータをカンマ区切りのcsvファイルに変換するRubyスクリプト

 先日のiTunesネタに引き続き、rubyの勉強がてら作ったスクリプトです。

ARGV.each do |i|
  f = open(i)
  p i + ".csv"
  wf = open(i + ".csv", 'w')
  begin
    f.each do |str|
      str = str.gsub(/\t/, ",")
      wf << str
    end
  ensure
    f.close
    wf.close
  end
end

2008.12.27 ayuminさんのご指摘を受け改変


 好きなファイル名で保存して使って下さい。ファイル名をto_csv.rb、変換したいファイルをtab_file.txtとしたとすると、以下のように使います。

ruby to_csv.rb tab_file.txt

 変換後のファイルはtab_file.txt.csvという名前で保存されます。複数ファイルを一斉に引数に渡すことも出来ます。Windowsruby環境でちゃんと動くかどうかは分かりません。ごめんなさい><。