我正在使用以下代码打开CSV文件进行编写,如CSV文档中所示(http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html):
CSV.open( csv_file_out, 'wb' ) { |csv_line_out|
#stuff happens here
}
该块不执行,即在CSV.open命令调试器直接进入块结束之后。
思考“以防万一”,我尝试使用IO模式w+b
wt
w+t
ab
a+b
。我也尝试过创建文件,万一打开它时出现问题。没有什么变化。
当我在CSV.open
行停止调试器时,我能够手动执行一个块并自己创建一个csv文件。我也可以从控制台创建文件frmo完全相同的命令。但它在服务器中执行时不起作用。
任何有关正在发生的事情的想法都非常受欢迎。提前谢谢!
答案 0 :(得分:0)
您的 |csv_line_out| 之前不需要 {} 括号
答案 1 :(得分:-1)
你试图迭代某事。 (文件内容)不存在所以它的逻辑结束imediatly!试试这种方式:
CSV.open(csv_file_out, "wb") do |csv|
csv << [column1, column2,...]
end