A CSV Builder writes CSV to an IO.
require "csv"
result = CSV.build do |csv|
# A row can be written by specifying several values
csv.row "Hello", 1, 'a', "String with \"quotes\"", '"', :sym
# Or an enumerable
csv.row [1, 2, 3]
# Or using a block, and appending to the row
csv.row do |row|
# Appending a single value
row << 4
# Or multiple values
row.concat 5, 6
# Or an enumerable
row.concat [7, 8]
end
end
puts result Output:
Hello,1,a,"String with ""quotes""","""",sym 1,2,3 4,5,6,7,8
Creates a builder that will write to the given IO.
Yields a CSV::Builder::Row to append a row.
Appends the given values as a single row, and then a newline.
Appends the given values as a single row, and then a newline.
Reference
Reference
Reference
Object
Object
Object
Creates a builder that will write to the given IO.
Yields a CSV::Builder::Row to append a row. A newline is appended to IO after the block exits.
Appends the given values as a single row, and then a newline.
© 2012–2026 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.19.0/CSV/Builder.html