本文简要介绍ruby语言中 CSV.generate
的用法。
用法
generate(csv_string, **options) {|csv| ... }
generate(**options) {|csv| ... }
-
参数
csv_string
如果给定,则必须是 String 对象;默认为一个新的空字符串。 -
参数
options
如果给出,应该生成选项。请参阅生成选项。
通过 CSV.new(csv_string, **options)
创建一个新的 CSV 对象;使用 CSV 对象调用块,该块可以修改该块;返回从 CSV 对象生成的字符串。
请注意,此方法修改了传递的字符串。如果必须保留字符串,则传递 csv_string
.dup。
此方法有一个附加选项::encoding
,如果没有指定 str
,它会为输出设置基数 Encoding
。如果您计划输出非 ASCII 兼容数据, CSV
需要此提示。
添加行:
input_string = "foo,0\nbar,1\nbaz,2\n"
output_string = CSV.generate(input_string) do |csv|
csv << ['bat', 3]
csv << ['bam', 4]
end
output_string # => "foo,0\nbar,1\nbaz,2\nbat,3\nbam,4\n"
input_string # => "foo,0\nbar,1\nbaz,2\nbat,3\nbam,4\n"
output_string.equal?(input_string) # => true # Same string, modified
将行添加到新字符串中,保留旧字符串:
input_string = "foo,0\nbar,1\nbaz,2\n"
output_string = CSV.generate(input_string.dup) do |csv|
csv << ['bat', 3]
csv << ['bam', 4]
end
output_string # => "foo,0\nbar,1\nbaz,2\nbat,3\nbam,4\n"
input_string # => "foo,0\nbar,1\nbaz,2\n"
output_string.equal?(input_string) # => false # Different strings
从无到有创建行:
output_string = CSV.generate do |csv|
csv << ['foo', 0]
csv << ['bar', 1]
csv << ['baz', 2]
end
output_string # => "foo,0\nbar,1\nbaz,2\n"
如果 csv_string
不是 String 对象,则引发异常:
# Raises TypeError (no implicit conversion of Integer into String)
CSV.generate(0)
相关用法
- Ruby CSV.generate_line用法及代码示例
- Ruby CSV.header_convert用法及代码示例
- Ruby CSV.skip_lines用法及代码示例
- Ruby CSV.table用法及代码示例
- Ruby CSV.force_quotes?用法及代码示例
- Ruby CSV.unconverted_fields?用法及代码示例
- Ruby CSV.col_sep用法及代码示例
- Ruby CSV.shift用法及代码示例
- Ruby CSV.skip_blanks?用法及代码示例
- Ruby CSV.read用法及代码示例
- Ruby CSV.row_sep用法及代码示例
- Ruby CSV.header_row?用法及代码示例
- Ruby CSV.headers用法及代码示例
- Ruby CSV.csv << row用法及代码示例
- Ruby CSV.encoding用法及代码示例
- Ruby CSV.each用法及代码示例
- Ruby CSV.return_headers?用法及代码示例
- Ruby CSV.converters用法及代码示例
- Ruby CSV.line用法及代码示例
- Ruby CSV.parse_line用法及代码示例
- Ruby CSV.convert用法及代码示例
- Ruby CSV.parse用法及代码示例
- Ruby CSV.line_no用法及代码示例
- Ruby CSV.instance用法及代码示例
- Ruby CSV.liberal_parsing?用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 CSV.generate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。