【发布时间】:2015-02-18 14:33:52
【问题描述】:
我生成CSV数据如下:
require 'csv'
CSV.generate do |csv|
csv << ['a', 123, 1.5, '0123']
end
这会返回这个结果:
"a,123,1.5,0123\n"
问题在于 Excel 会将0123 解释为整数。另一方面,当使用force_quotes: true 时,值123 和1.5 将不再被解释为数字。
如何只引用字符串而不是数字来获得以下结果?
"\"a\",123,1.5,\"0123\"\n"
【问题讨论】:
-
这篇文章可能会有所帮助stackoverflow.com/questions/28545559/…
-
谢谢,但这实际上不是我的问题。
'0123'已经是一个字符串,我希望它被引用,而123或1.5不应该被引用。 -
您确定您声明的结果是有效的 CSV 文件吗?我无法在 csvlint.io 验证它
-
查看这篇文章了解更多信息:superuser.com/questions/318420/…
-
我看到en.wikipedia.org/wiki/Comma-separated_values 提供了带有引用 和 未引用值的示例。