本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。