我正在尝试使用以下代码将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
将是一个字符串。
答案 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
这无助于解释你所看到的数字。也许其他东西会覆盖临时文件的内容。