TSVからCSVへ

tsvファイルとは、以下のような要素がtab区切りのファイルです。
これをrubyCSVモジュールを使ってcsv形式(カンマ区切り)に書き換えましょう。

john	m	18
paul	m	20
alice	f	15
dabid	m	17
jasmin	f	17

input.tsv

ソースコードは以下
各行をtabでsplitした配列がcsv形式で書き込まれます。

require 'csv'

CSV.open('output.csv', 'w') do |file|
  File.foreach('input.tsv') do |row|
    file << row.chomp.split("\t")
  end
end
john,m,18
paul,m,20
alice,f,15
dabid,m,17
jasmin,f,17

output.csv



各要素をダブルクォーテーションで囲む必要があるときはカッコ内に force_quotes: trueと付け加えましょう。

CSV.open('output.csv', 'w', force_quotes: true) do |file|
"john","m","18"
"paul","m","20"
"alice","f","15"
"dabid","m","17"
"jasmin","f","17"

output.csv(force_quotes: true)