本文简要介绍ruby语言中 CSV::Row.fetch
的用法。
用法
fetch(header)
fetch(header, default)
fetch(header) {|row| ... }
返回由 header
指定的字段值。
使用单个参数 header
,返回该标头的字段值(首先找到):
source = "Name,Name,Name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.fetch('Name') # => "Foo"
如果标头不存在,则引发异常 KeyError
。
给定参数 header
和 default
时,如果标头存在,则返回标头的字段值(首先找到),否则返回 default
:
source = "Name,Name,Name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.fetch('Name', '') # => "Foo"
row.fetch(:nosuch, '') # => ""
使用参数header
和给定的块,如果标头存在,则返回标头的字段值(第一次找到);否则调用该块并返回其返回值:
source = "Name,Name,Name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.fetch('Name') {|header| fail 'Cannot happen' } # => "Foo"
row.fetch(:nosuch) {|header| "Header '#{header} not found'" } # => "Header 'nosuch not found'"
相关用法
- Ruby Row.fields用法及代码示例
- Ruby Row.field用法及代码示例
- Ruby Row.delete用法及代码示例
- Ruby Row.to_csv用法及代码示例
- Ruby Row.row << [header, value]用法及代码示例
- Ruby Row.dig用法及代码示例
- Ruby Row.inspect用法及代码示例
- Ruby Row.to_h用法及代码示例
- Ruby Row.delete_if用法及代码示例
- Ruby Row.push用法及代码示例
- Ruby Row.row[index] =用法及代码示例
- Ruby Row.headers用法及代码示例
- Ruby Range.end用法及代码示例
- Ruby Regexp named_captures()用法及代码示例
- Ruby Ractor.receive_if用法及代码示例
- Ruby Range new()用法及代码示例
- Ruby Rational.inspect用法及代码示例
- Ruby Random.bytes用法及代码示例
- Ruby Random hex()用法及代码示例
- Ruby RFC2396_Parser.parse用法及代码示例
- Ruby Range.size用法及代码示例
- Ruby Rational.rational <=>用法及代码示例
- Ruby Recorder类用法及代码示例
- Ruby Ruby.parse_method_parameters用法及代码示例
- Ruby RFC2396_Parser.new用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Row.fetch。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。