本文简要介绍ruby语言中 CSV::Table.delete_if
的用法。
用法
delete_if() { |header, self| ... }
删除块返回真值的行或列;返回 self
。
当访问模式为 :row
或 :col_or_row
时删除行;使用每个 CSV::Row 对象调用块:
source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n"
table = CSV.parse(source, headers: true)
table.by_row! # => #<CSV::Table mode:row row_count:4>
table.size # => 3
table.delete_if {|row| row['Name'].start_with?('b') }
table.size # => 1
当访问模式为 :col
时删除列;将每列的块调用为包含标题和列字段数组的 2 元素数组:
source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n"
table = CSV.parse(source, headers: true)
table.by_col! # => #<CSV::Table mode:col row_count:4>
table.headers.size # => 2
table.delete_if {|column_data| column_data[1].include?('2') }
table.headers.size # => 1
如果没有给出块,则返回一个新的 Enumerator:
source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n"
table = CSV.parse(source, headers: true)
table.delete_if # => #<Enumerator: #<CSV::Table mode:col_or_row row_count:4>:delete_if>
相关用法
- Ruby Table.delete用法及代码示例
- Ruby Table.values_at用法及代码示例
- Ruby Table.table << row_or_array用法及代码示例
- Ruby Table.table[n]用法及代码示例
- Ruby Table.==用法及代码示例
- Ruby Table.each用法及代码示例
- Ruby Table.push用法及代码示例
- 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.delete_if。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。