TSVやCSVファイルの読み込み方法 (Ruby)
[履歴] (2014/02/09 07:52:38)
最近の投稿
注目の記事

概要

標準ライブラリの 'csv' を利用すると、CSVファイルはもちろんのことTSVファイルも簡単に読み込むことができます。

サンプルプログラム

sample.rb

#!/usr/bin/ruby
# -*- coding: utf-8 -*-
require 'csv'

# 一行ずつ読み込む
CSV.foreach('in.csv', 'r:UTF-8') do |arr|
  p arr
end

# すべてを読み込んで配列に格納
arr_of_arr = CSV.read('in.csv', 'r:UTF-8')
p arr_of_arr

# 任意の区切り文字を指定可能 (TSVの場合は "\t" を指定)
p CSV.read('in.tsv', 'r:UTF-8', col_sep: "\t")

in.csv (UTF-8)

hoge,"ho,ge",にほんご
hoge,"ho
ge"
hoge,"hoge"

in.tsv (UTF-8)

hoge    "ho ge" にほんご
hoge    "ho
ge"
hoge    "hoge"

実行例

$ ruby sample.rb
["hoge", "ho,ge", "\u306B\u307B\u3093\u3054"]
["hoge", "ho\nge"]
["hoge", "hoge"]
[["hoge", "ho,ge", "\u306B\u307B\u3093\u3054"], ["hoge", "ho\nge"], ["hoge", "hoge"]]
[["hoge", "ho\tge", "\u306B\u307B\u3093\u3054"], ["hoge", "ho\nge"], ["hoge", "hoge"]]
関連ページ