为什么将数据导出为CSV仅提供数字?

时间:2012-06-28 18:18:02

标签: ruby

我正在尝试使用以下代码将mongo结构导出为CSV:

file = Tempfile.new(['genreport','.csv'],file_path)
file_name = file.path()
CSV.open(file_name,"w") do |csv|
result_cursor.each do |eachdoc|
    eachdoc.each do |key,value|
        csv<<key.to_s
        csv<<value.to_s
    end
    csv<<"\n"
end
end

CSV文件按预期创建,但仅包含数字。我做错了什么?

以下是类型:

result_cursor是一个mongo游标,eachdoc将是一个哈希,keyvalue将是一个字符串。

1 个答案:

答案 0 :(得分:0)

我不确定你的代码如何不同或改变了发布的内容,但是当我尝试按原样运行代码时,我得到一个异常(未定义的方法`map'代表'key of key')。但是,当我这样做时,它工作正常。

file = Tempfile.new(['genreport','.csv'],file_path)
file_name = file.path()
CSV.open(file_name,"w") do |csv|
  result_cursor.each do |eachdoc|
    eachdoc.each do |key,value|
      csv << [key, value]
    end
  end
end

这无助于解释你所看到的数字。也许其他东西会覆盖临时文件的内容。

相关问题