2010-11-10 58 views
5

我正在处理csv代。我分开用逗号(,)分隔的值。如果字段中的值包含逗号,则不应该将该字段与Excel中的字段分开。所以我想在那里放置一个转义字符。我正在使用FasterCsv。所以我怎么能把一个转义字符。 fastcsv的转义特征是什么?Escape快速逗号逗号值

回答

2

如果您的数据中包含逗号,请使用:col_sep选项设置不同的列分隔符。如果你喜欢你的逗号并且不能没有它们,你可以将数据设置在引号内。

+0

制表符分隔值在Mac上创建它是一个常见的备用逗号分隔。 – 2010-11-10 14:51:02

8

只是引用的每个字段(默认为双引号)和逗号的他们被忽略内部:

CSV.generate(:col_sep=>',', :quote_char => '"') do |row| 
    row << ["Quid, quid", "latinum dictum"] 
    row << ["sit, altum", "viditur."] 
end 
=> "\"Quid, quid\",latinum dictum\n\"sit, altum\",viditur.\n" 
+1

这将是“videtur” – sixty4bit 2015-03-11 21:26:31

1

如果使用FasterCSV方法,这将自动为您处理!

0

一个创造性的方法是用一个看起来像替换真正的逗号。这可能是愚蠢的,这完全取决于你的用例。对我们来说没问题 - 我想。我需要张贴在此之前我改变主意,笑

my_string.gsub(',','‚') 

我不知道,如果把它复制粘贴正确,但你可以通过按住ALT(option) + ,