当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby CSV.parse_line用法及代码示例


本文简要介绍ruby语言中 CSV.parse_line 的用法。

用法

parse_line(string) → new_array or nil
parse_line(io) → new_array or nil
parse_line(string, **options) → new_array or nil
parse_line(io, **options) → new_array or nil
parse_line(string, headers: true, **options) → csv_row or nil
parse_line(io, headers: true, **options) → csv_row or nil

返回通过使用指定的 options 解析 stringio 的第一行创建的数据。

  • 参数string 应该是一个字符串对象;它将被放入位于开头的新 StringIO 对象中。

  • 参数 io 应该是一个 IO 对象,即:

    • 开放阅读;返回时, IO 对象将被关闭。

    • 定位在开头。要定位在末尾,要追加,请使用方法 CSV.generate 。对于任何其他定位,请改为传递预设的 StringIO 对象。

  • 参数 options :请参阅解析选项

没有选项headers

如果没有选项 headers ,则将第一行作为新数组返回。

这些示例假定事先执行:

string = "foo,0\nbar,1\nbaz,2\n"
path = 't.csv'
File.write(path, string)

解析 String 对象的第一行:

CSV.parse_line(string) # => ["foo", "0"]

解析 File 对象的第一行:

File.open(path) do |file|
  CSV.parse_line(file) # => ["foo", "0"]
end # => ["foo", "0"]

如果参数是空字符串,则返回 nil

CSV.parse_line('') # => nil
使用选项headers

使用 {option headers },将第一行作为 CSV::Row 对象返回。

这些示例假定事先执行:

string = "Name,Count\nfoo,0\nbar,1\nbaz,2\n"
path = 't.csv'
File.write(path, string)

解析 String 对象的第一行:

CSV.parse_line(string, headers: true) # => #<CSV::Row "Name":"foo" "Count":"0">

解析 File 对象的第一行:

File.open(path) do |file|
  CSV.parse_line(file, headers: true)
end # => #<CSV::Row "Name":"foo" "Count":"0">

如果参数是 nil 则引发异常:

# Raises ArgumentError (Cannot parse nil as CSV):
CSV.parse_line(nil)

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 CSV.parse_line。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。