我试图从我编写的MySql查询中读取数据并将其写入csv文件。 所有这些都使用ruby本身,没有Ruby on Rails或涉及任何WebFramework。
不幸的是,数字必须带有小数点后的逗号而不是小数点,而csv文件的列分隔符必须是&#34 ;;"。
这是我到目前为止所写的内容,但这只会在数字列上生成小数点(CSV - ; - 分隔符有效):
require 'mysql'
require 'csv'
begin
con = Mysql.new conn['server'], conn['user'], conn['pw'] , conn['db']
rs = con.query(sql)
CSV.open(output_file,"wb",{:col_sep => ";"}) do |csv|
rs.each do |row|
csv << row
end
end
rescue Mysql::Error => e
puts e.errno
puts e.error
ensure
con.close if con
end
有没有非Rails方法吗? 我找到的所有东西都是某种ActiveRecord类方法,这种方法并不适用于这个例子(至少我不知道怎么做,也许你可以指出我正确的方向)。
任何帮助都将受到高度赞赏!
的Stefan