加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在单个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参数传递.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读