1
1

More than 3 years have passed since last update.

【Ruby】タブ区切りテキストファイル(tsv)をcsvに変換する

Last updated at Posted at 2019-11-07

概要

アウトプット用に、学習した内容を紹介していきます。
本日の内容は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" )でタブごとに区切っています。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1