在单个csv.new()行中创建一个带有标题的新Ruby CSV对象
发布时间:2020-12-17 03:22:26 所属栏目:百科 来源:网络整理
导读:我正在尝试创建一个只包含标题行的新CSV对象,但在调用read()之前不会设置标题: [32] pry(main) c = CSV.new("Keyword,Index,Page,Index in Page,Type,Title,URL",:headers = :first_row,:write_headers = true,:return_headers = true)= #CSV io_type:Strin
我正在尝试创建一个只包含标题行的新CSV对象,但在调用read()之前不会设置标题:
[32] pry(main)> c = CSV.new("Keyword,Index,Page,Index in Page,Type,Title,URL",:headers => :first_row,:write_headers => true,:return_headers => true) => <#CSV io_type:StringIO encoding:UTF-8 lineno:0 col_sep:"," row_sep:"n" quote_char:""" headers:true> [33] pry(main)> c.headers => true [34] pry(main)> c.read => #<CSV::Table mode:col_or_row row_count:1> [35] pry(main)> c.headers => ["Keyword","Index","Page","Index in Page","Type","Title","URL"] 这是为什么?为什么我不能使用单个CSV.new行获得正常工作的CSV对象? 解决方法
因为
documentation会告诉你它将字符串视为文件的内容(即StringIO),所以你仍然必须像读取任何其他IO源一样读取字符串.
如果要显式设置标头,则将数组作为:headers参数传递. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |