#概要
アウトプット用に、学習した内容を紹介していきます。
本日の内容はRubyでtsvをcsvに変換するお話です。
#環境
Mac OS Mojave 10.14.6
Ruby 2.5.3
エディタ VSCode
#tsvをcsvに変換
以下のタブ区切りテキストをcsvに変換します。
meibo.txt
john m 18
paul m 20
alice f 15
dabid m 17
jasmin f 17
こちらは以下のコードでcsvファイルへの変換が出来ます。
tsvtocsv.rb
require 'csv'
File.open( 'meibo.txt', 'r:UTF-8' ) do |file|
CSV.open( 'meibo.csv', 'w', force_quotes: true ) do |csv|
#一行ずつCSVファイルへ書き込み
file.each_line do |line|
csv << line.chomp.split( "\t" )
end
end
end
File.openでtsvファイルを読み込みます。
次の行、CSV.openで書き込み用ファイルを用意します。
その下のループ文では、tsvファイルに対し一行ずつcsvファイルへ書き込んでいきます。
chompで改行文字削除、split( "\t" )でタブごとに区切っています。