在ruby 1.9.2中复制ruby 1.8.7的CSV.generate_line行为

时间:2011-03-17 06:12:16

标签: ruby csv

ruby​​ 1.9现在使用fastercsv,但是如何复制ruby 1.8.7的generate_line行为?

ruby-1.8.7-p334 :010 > require 'csv'
 => true
ruby-1.8.7-p334 :010 > CSV.generate_line(["ab","cd"], "\t")
 => "ab\tcd"

ruby-1.9.2-p180 :002 > require 'csv'
 => true
ruby-1.9.2-p180 :007 > CSV.generate_line(["ab","cd"], :row_sep => ?\t)
 => "ab,cd\t"

注意\t在ruby 1.8.7中的两个数组项之间以及最后1.9.2

中的{{1}}

2 个答案:

答案 0 :(得分:3)

你必须改用col_sep。 row_sep是行分隔符:

CSV.generate_line(["ab","cd"], :col_sep => ?\t)
=> "ab\tcd\n"

CSV.generate_line(["ab","cd"], :col_sep => ?\t, :row_sep => '')
=> "ab\tcd"

您可以在documentation中找到更多详细信息和其他选项。

答案 1 :(得分:1)

CSV.generate_line([ '一', 'B', 'C'],:col_sep => “中\ t” 的)