1

我有一个脚本,可以生成 CSV 文件并将其通过电子邮件发送给 Windows 上的许多用户。其中一列中有换行符,当我打开生成的文件时,我会在换行符之前看到方框。这是我正在尝试做的代码示例:

CSV.open("/tmp/reports.csv", "w") do |csv|
  csv << ["Date", "Description", "Comments", "Status"]
  csv << ["Foo","Bar","This\r\n is \r\n where \r\n my \r\n linebreaks \r\n are,"Baz"]
end

我已经尝试了我能想到的任意数量的换行和编码组合,但没有任何乐趣。我怀疑它与这个问题有关,但解决方案涉及在导入后做一些事情,我不想让我的用户背负这些,特别是因为我不在这里与技术用户打交道。

有任何想法吗?

4

1 回答 1

0

尝试 gsubbing 出 \r :

csv << ["Foo","Bar","square \r\n here","Baz"].map{|col| col.gsub(/\r/, '')}
于 2012-10-20T02:32:15.283 回答