首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FasterCSV (Ruby)的问题

FasterCSV (Ruby)的问题
EN

Stack Overflow用户
提问于 2013-05-08 17:35:26
回答 2查看 192关注 0票数 0

我正在写一个程序,创建一个csv文件。一开始我就有个问题。所以,我的代码是

代码语言:javascript
复制
  def create_csv
      destfile = Rails.root.join("public", "reports", "statistic_csv#{id}.csv")
      csv_string = FasterCSV.generate do |out|
         out << ["row", "of", "CSV", "data"]
      end
   FasterCSV.open(destfile, "w") do |csv|
      csv << csv_string
   end
  end

我想,我将在输出文件中获得4列,就像这行|csv|数据。但我得到的是一个单元格A1中的"row,of,CSV,data“。我该如何解决这个问题?提前感谢!PS。我使用ruby 1.8.7和FasterCSV 1.5.5

EN

回答 2

Stack Overflow用户

发布于 2013-05-08 17:48:22

您正在对CSV字符串进行两次编码。这应该是可行的:

代码语言:javascript
复制
def create_csv
  destfile = Rails.root.join("public", "reports", "statistic_csv#{id}.csv")
  FasterCSV.open(destfile, "wb") do |csv|
    csv << ["row", "of", "CSV", "data"]
  end
end

您还可以指定自定义列分隔符:

代码语言:javascript
复制
FasterCSV.open(destfile, "wb", { :col_sep => "|" }) do |csv|
  # ...
end
票数 2
EN

Stack Overflow用户

发布于 2013-05-08 17:40:39

我假设您是在Excel中打开此文件。Excel可能未将该文件检测为CSV文件。尝试将数据导入到Excel工作簿中,而不是在excel中打开文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16437255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档