Ruby CSV :: Table读取第一行

时间:2013-10-02 00:36:54

标签: ruby csv

我正在使用符号并请求Yahoo Finance网络服务获取该符号(公司)的数据。

当我执行以下操作时,它返回CSV::Table

symbols_list.each{|symbol| 
                table= CSV.parse open("http://ichart.finance.yahoo.com/table.csv?s=#{URI.encode(symbol)}").read, :headers=>true, :converters=>:numeric

输出为CSV::Table,每行都有标题。但是,我想从结果中仅提取第一行并获取该行的一部分。

我尝试过使用table.push,但它打印的是所有行而不是一行。

1 个答案:

答案 0 :(得分:2)

这就是我得到的,在命令行上搞乱:

[16] pry(main)> table= CSV.parse open("http://ichart.finance.yahoo.com/table.csv?s=GOOG").read, :headers=>true, :converters=>:numeric
=> #<CSV::Table mode:col_or_row row_count:2297>
[17] pry(main)> table.first
=> #<CSV::Row "Date":"2013-10-01" "Open":880.25 "High":887.67 "Low":880.05 "Close":887.0 "Volume":1684800 "Adj Close":887.0>
[18] pry(main)> table.first.first
=> ["Date", "2013-10-01"]

获得收盘价:

[23] pry(main)> table.first["Close"]
=> 887.0