在Ruby中将列(SQL查询)添加到CSV文件 [英] Adding Columns (SQL Queries) to a CSV File in Ruby
本文介绍了在Ruby中将列(SQL查询)添加到CSV文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法弄清楚如何在Ruby的CSV文件中写入额外的列,而不是行。
I have been unable to figure out how to write additional columns, not rows, to a CSV file in Ruby. In this case, they are SQL queries.
我的代码片段:
month = mysql.query("SELECT DATE_FORMAT(company_db.dates.starting_date,'%m') FROM company_db.dates.starting_date;")
day = mysql.query("SELECT DATE_FORMAT(company_db.dates.starting_date,'%d') FROM company_db.dates.starting_date;")
year = mysql.query("SELECT DATE_FORMAT(company_db.dates.starting_date,'%Y') FROM company_db.dates.starting_date;")
CSV.open("Dates.csv, "wb") do |csv|
csv << ["Month", "Day", "Year"]
csv << [(month.each {|row| csv << row}), (day.each {|row| csv << row}), (year.each {|row| csv << row})]
end
我得到的输出:
Month, Day, Year
1,
.
.
.
12,
1,
.
.
.
31,
1970,
.
.
.
2015
Month, Day, Year
1, 1, 1970
. . .
. . .
. . .
12, 31, 2015
感谢您的帮助。
推荐答案
我相信Enumerable.zip是你正在寻找的方法。
I believe Enumerable.zip is the method you are looking for.
查询:
csv << [ 'Month', 'Day', 'Year' ]
csv << month.zip( day, year )
这篇关于在Ruby中将列(SQL查询)添加到CSV文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文