在Ruby中将列(SQL查询)添加到CSV文件 [英] Adding Columns (SQL Queries) to a CSV File in Ruby

查看:196
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆