2010-12-10 5 views
3

Ruby에서 탭으로 구분 된 값의 파일을 CSV로 변환하는 가장 효율적인 방법은 무엇입니까?Ruby의 TSV -> CSV

답변

4

사용 FasterCSV

require 'rubygems' 
require 'fastercsv' 

FasterCSV.open("path/to/file.csv", "w") do |csv| 
    File.open("/path/to/file.tsv") do |f| 
    f.each_line do |tsv| 
     tsv.chomp! 
     csv << tsv.split(/\t/) 
    end 
    end 
end 
+0

가 제대로뿐만 아니라 TSV를 분석해야하지? ''foo \ tbar '\ t "baz"' – deceze

+2

@Bill FasterCSV는 Ruby 1.9의 이전 CSV 모듈을 대체 했으므로 1.9에서는'csv'가 필요하고 모든 것을 다시 확인합니다. OP는 그들이 사용하고있는 버전을 언급하지 않았다. –

+1

@deceze - "탈출"된 임베디드 탭을 허용하는 TSV 형식에 대해 들어 본 적이 없습니다. 탭에서 분리하면됩니다. –