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


Ruby CSV.each用法及代码示例


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

用法

each → enumerator
each {|row| ...}

用每个连续的行调用块。必须打开数据源才能读取。

没有标题:

string = "foo,0\nbar,1\nbaz,2\n"
csv = CSV.new(string)
csv.each do |row|
  p row
end

输出:

["foo", "0"]
["bar", "1"]
["baz", "2"]

带标题:

string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n"
csv = CSV.new(string, headers: true)
csv.each do |row|
  p row
end

输出:

<CSV::Row "Name":"foo" "Value":"0">
<CSV::Row "Name":"bar" "Value":"1">
<CSV::Row "Name":"baz" "Value":"2">

如果源未打开以供阅读,则引发异常:

string = "foo,0\nbar,1\nbaz,2\n"
csv = CSV.new(string)
csv.close
# Raises IOError (not opened for reading)
csv.each do |row|
  p row
end

相关用法


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