You can also construct a CSV
object with an IO or something sufficiently like an IO, such as a Bzip2::Writer
.
For example
File.open('file.bz2', 'wb') do |f|
writer = Bzip2::Writer.new f
CSV(writer) do |csv|
(2**16).times { csv << arr }
end
writer.close
end