将Ruby Hash输出为CSV

时间:2014-09-17 22:15:27

标签: ruby csv

我正在抓取Yelp数据以收集一些商业信息。我能够在一个区域(?term=Food&Location=Orange+County,CA)中为给定的搜索词输出大约20个结果。

结果是一个ruby哈希,在我的终端上很好地格式化了。我想知道如何获取结果,并使其成为CSV,以便我可以自动导入到Excel。

到目前为止,这是我的代码,下面的CSV是我正在玩的内容,但它没有做太多;

yelp.rb

require 'rubygems'
require 'oauth'
require 'json'
require 'csv'

consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
token = 'TOKEN'
token_secret = 'TOKEN_SECRET'
api_host = "http://api.yelp.com"

consumer = OAuth::Consumer.new(consumer_key, consumer_secret, {:site => api_host})
access_token = OAuth::AccessToken.new(consumer, token, token_secret)

path = '/v2/search?term=Session+Photography&location=Orange+County,CA'

jresp = JSON.parse(access_token.get(path).body)

jresp['businesses'].each do | business |
    if business['is_closed'] == false
      printf("%-32s  %10s  %3d  %1.1f\n", 
                business['name'], business['phone'], 
                business['review_count'], business['rating'])
    end

end

CSV.open('data.csv', 'wb') do |csv|
    csv << jresp
    jresp.each do |key, value|
        csv << value
    end
end

任何帮助或推动我朝着正确的方向将非常感激。提前致谢。

0 个答案:

没有答案