首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FasterCSV布局

FasterCSV布局
EN

Stack Overflow用户
提问于 2011-02-06 20:48:52
回答 1查看 413关注 0票数 0

我需要将CSV布局为列,而不是行。所以顺着电子表格走下去,而不是跨过。例如:

标题1,value1.1,value2.1

标题2,值1.2,值2.2

标题3,值1.3,值2.3

有人知道怎么做吗?我已经浏览了文档,但找不到任何关于将布局更改为列的内容。

编辑:

代码语言:javascript
复制
row_data = [];
csv_string = FasterCSV.generate do |csv|
  # header row
  row_data << ["id", "Name", "Age"]

  # data rows
  Playerapplication.find_each do |player|
    row_data << [player.id, player.name, player.age]
  end

  row_data.transpose
  csv << row_data
end

# send it to the browser
send_data csv_string,
          :type => 'text/csv; charset=iso-8859-1; header=present',
          :disposition => "attachment; filename=players_application.csv"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-06 20:58:15

在写入CSV之前,只需对数据使用Array#transpose即可。

如果你像这样修改你的代码:

代码语言:javascript
复制
row_data = [];
csv_string = FasterCSV.generate do |csv|
  # header row
  row_data << ["id", "Name", "Age"]

  # data rows
  Playerapplication.find_each do |player|
    row_data << [player.id, player.name, player.age]
  end

  row_data.transpose.each do |row|
    csv << row
  end
end

这对我很管用。

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

https://stackoverflow.com/questions/4913384

复制
相关文章

相似问题

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