【发布时间】:2014-11-23 22:07:20
【问题描述】:
所以我有这段代码:
data = CSV.open(filename, headers: true, header_converters: :symbol)
@contents = data.map
filename 是文件的路径,指的是我计算机上的实际文件。
我的问题是我命名为 data 的 CSV 对象到底是什么?一个对象如何映射?
当我使用 pry 进行调试时,我看到了这个:
[1] pry(#<Session>)> data
=> <#CSV io_type:File io_path:"./data/event_attendees.csv" encoding:UTF-8 lineno:2 col_sep:"," row_sep:"\n" quote_char:"\"" headers:[:_, :regdate, :first_name, :last_name, :email_address, :homephone, :street, :city, :state, :zipcode]>
[2] pry(#<Session>)> row
CSV::Row _:"1" regdate:"11/12/08 10:47" first_name:"Allison" last_name:"Nguyen" email_address:"arannon@jumpstartlab.com" homephone:"6154385000" street:"3155 19th St NW" city:"Washington" state:"DC" zipcode:"20010"
所以 data 似乎是指一个 CSV 对象而不是一个数组。 row 似乎是指 csv 对象的某些属性?
不管怎样,我以前从未见过对象上的方法映射。怎么回事?
【问题讨论】:
-
我不确定您的问题是什么。你问对象是什么?您是否尝试对 CSV 文件做一些您无法弄清楚的事情?如果是这样,期望的输出是什么