本文简要介绍ruby语言中 CSV::Table.values_at
的用法。
用法
values_at(*indexes) → array_of_rows
values_at(*headers) → array_of_columns_data
如果访问模式是 :row
或 :col_or_row
,并且每个参数是整数或范围,则返回行。否则,返回列数据。
在任何一种情况下,返回值都按照参数指定的顺序。争论可能会重复。
以 CSV::Row 对象数组的形式返回行。
没有参数:
source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n"
table = CSV.parse(source, headers: true)
table.values_at # => []
一项指标:
values = table.values_at(0)
values # => [#<CSV::Row "Name":"foo" "Value":"0">]
两个指标:
values = table.values_at(2, 0)
values # => [#<CSV::Row "Name":"baz" "Value":"2">, #<CSV::Row "Name":"foo" "Value":"0">]
一个范围:
values = table.values_at(1..2)
values # => [#<CSV::Row "Name":"bar" "Value":"1">, #<CSV::Row "Name":"baz" "Value":"2">]
范围和索引:
values = table.values_at(0..1, 1..2, 0, 2)
pp values
输出:
[#<CSV::Row "Name":"foo" "Value":"0">, #<CSV::Row "Name":"bar" "Value":"1">, #<CSV::Row "Name":"bar" "Value":"1">, #<CSV::Row "Name":"baz" "Value":"2">, #<CSV::Row "Name":"foo" "Value":"0">, #<CSV::Row "Name":"baz" "Value":"2">]
将列数据作为行数组返回,每个数组都包含该行的指定列数据:
values = table.values_at('Name')
values # => [["foo"], ["bar"], ["baz"]]
values = table.values_at('Value', 'Name')
values # => [["0", "foo"], ["1", "bar"], ["2", "baz"]]
相关用法
- Ruby Table.delete用法及代码示例
- Ruby Table.table << row_or_array用法及代码示例
- Ruby Table.table[n]用法及代码示例
- Ruby Table.==用法及代码示例
- Ruby Table.each用法及代码示例
- Ruby Table.push用法及代码示例
- Ruby Table.delete_if用法及代码示例
- Ruby Task类用法及代码示例
- Ruby Time tv_sec用法及代码示例
- Ruby Time usec用法及代码示例
- Ruby TCPServer.accept用法及代码示例
- Ruby Time yday()用法及代码示例
- Ruby Time succ()用法及代码示例
- Ruby Time mon()用法及代码示例
- Ruby Time.gmtime用法及代码示例
- Ruby Time iso8601用法及代码示例
- Ruby Time.at用法及代码示例
- Ruby Thread.kill用法及代码示例
- Ruby Time.utc_offset用法及代码示例
- Ruby Time.isdst用法及代码示例
- Ruby TracePoint.defined_class用法及代码示例
- Ruby Time.time + numeric用法及代码示例
- Ruby Thread.pending_interrupt?用法及代码示例
- Ruby Time wednesday?用法及代码示例
- Ruby Time.wednesday?用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Table.values_at。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。