rubyでタブ区切りのテキストファイルの読み込みを行う

rubyでファイルの読み込みについてまとめる。

【テキストファイルを読みだして配列に格納する方法】

テキストファイルの読み込みは主に2種類ある

・テキストファイルを一気に読み込む方法

tsv_data = CSV.read('meibo.txt', headers: true)

・1行ずつ読み取っては処理をする

CSV.foreach('meibo.txt') do |row|
  //処理
end

この読み取りではどちらも普通に1行を1つのデータとしてみなすが、タブで区切られていたら、それを別々のものとして切り離したい時は「:col_sep」というオプションを用いれば良い。

具体的には、先ほど書いた「タブごとに区切る」という時はこのように書けば良い

・テキストファイルを一気に読み込む方法

 

tsv_data = CSV.read('meibo.txt',:col_sep => "\t", headers: true)

・1行ずつ読み取っては処理をする

CSV.foreach('meibo.txt',:col_sep => "\t") do |row|
  //処理
end

これで、タブで区切られたものを切り離すことができる。