使用Ruby将mysql结果导出到文件
作者:互联网
我想查询我的数据库并获取结果并将它们导出为.txt,.cvs或.xls
mysql数据库不在我的本地计算机上托管
这是我访问数据库的代码并在屏幕上返回结果:
#!/usr/bin/ruby
require 'mysql'
require 'watir'
require "win32ole"
excel = WIN32OLE::new('excel.Application')
workbook = excel.Workbooks.Add
worksheet = workbook.Worksheets(1)
mysql = Mysql.init()
mysql.connect(host='hostname', user='username', passwd='pwd', db='DBname')
results = mysql.query("Select * FROM table")
results.each{|row|; puts row;}
mysql.close()
worksheet.SaveAs("C:\\Scripts\\DB_Test\\Test.xlsx")
workbook.Close
解决方法:
csv很简单.我不确定你从mysql.query得到什么,但要确保每一行都是一个数组,你想要放在csv行中,然后做这样的事情:
require 'csv'
CSV.generate do |csv|
csv << ["headers","describing","the data"]
mysql.query("SELECT * FROM table").each { |row| csv << row }
end
csv支持在标准库中,因此不需要任何宝石.请注意,标准库在1.8和1.9之间更改 – 该示例应与1.9一起使用.
标签:mysql,ruby,export-to-excel,watir,export-to-csv 来源: https://codeday.me/bug/20190609/1208318.html