1

我有一个包含大约 30 列的 csv 文件,我想输出这些列,并希望这些列出现在我的 .csv.erb 中的不同行中,例如:

<%= quantity.line_number  %>,
<%= quantity.created_at.strftime("%Y-%m-%d %H:%M:%S") %>,
<%= quantity.partner_entity_no %>,
<%= quantity.partner_name %>,

但是,当我执行此操作时,我的 .csv 文件在每个“,”之后都有换行符,我想 1)将每一列保持在源代码中的单独行上,并且 2)在输出 .csv 文件中没有换行符。我怎么能做到这一点?

4

2 回答 2

2
<%= [quantity.line_number,
     quantity.created_at.strftime("%Y-%m-%d %H:%M:%S"),
     quantity.partner_entity_no,
     quantity.partner_name].join(',') %>
于 2012-04-18T16:34:26.743 回答
2

使用 stdlib CSV 类来获得正确的 csv 引用和转义语义。或者更方便的是,使用它的Array#to_csv辅助方法。

<% require 'csv' %>
...
<%= [ 
      quantity.line_number,
      quantity.created_at.strftime("%Y-%m-%d %H:%M:%S"),
      quantity.partner_entity_no,
      quantity.partner_name,
    ].to_csv %>
于 2012-04-18T18:28:56.857 回答