0

我正在尝试使用以下代码将 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将是一个哈希,key并且value将是一个字符串。

4

1 回答 1

0

我不确定您的代码有何不同或更改了所发布内容的上下文,但是当我尝试按原样运行代码时,出现异常(未定义的方法“键值”的“映射”)。但是,当我这样做时,它工作正常。

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

不过,这确实无助于解释您所看到的数字。也许其他东西正在覆盖临时文件的内容。

于 2012-06-28T21:09:21.357 回答