Saturday, September 22, 2012

How read and write Gzipped files in Ruby

require 'fileutils'
require 'zlib'


fw_array=Array.new

gz = Zlib::GzipReader.new(File.open('20120919.data.gz'))
linenum=0
gz.each_line do |line|
    linenum = linenum + 1
    arr_line=line.split(/\t/)
    for i in 0..arr_line.length
        fw=Zlib::GzipWriter.new(File.open("col#{i}.gz","a"))
        fw.write "#{linenum}\t#{arr_line[i]}\n"
        fw.close
    end
end #