Ruby1.9.3で、以前に作成したタブ区切りのファイル処理を行ったら盛大にこけました。
Ruby1.9.3は、FasterCSVを標準で使っているようです。ということで以下に仕様メモ
環境はruby-1.9.3-p0
難易度★★☆☆☆
タブ区切りのファイルを読み込む
# read tab separate file CSV.open(fileName, 'r', :col_sep=>"\t") do |tsv| #something end
上記ではタブファイルはが正常に読み込まれると、ブロックのtsv変数にファイルデータが格納されます。
ファイルの列ごとのデータを取り出す場合は以下のようにします。
# read tab separate file CSV.open(fileName, 'r', :col_sep=>"\t") do |tsv| tsv.each { |row| # row's class is Array. # something } end
上記のrowにはタブ区切りの各種データ配列が格納されています。
例えば["test1", "test2", "test3", "test4"]のような感じです。
さらにデータを取りだすときはrowをeachメソッドで呼び出します。
個人的にはFasterCSVを使って速度が劇的に速くなった感じはしませんでした。データ件数が増えれば変わるのでしょうか。
以上です。
0 件のコメント:
コメントを投稿