class Lumberjack::Splitter

Public Class Methods

split(path, division) click to toggle source
# File lib/cli_csv/splitter.rb, line 4
def self.split(path, division)
        written = Array.new
        headers = Array.new
        headers_set = false
        filename = path.split('/')[-1].split('.csv')[0]
        puts filename
        
        counter = 0
        # splitting now
        newcsv = CSV.open("#{filename}_#{counter}.csv", "wb") 
        CSV.foreach(File.path(path)) do |col|
                counter += 1
                if headers_set == false
                        headers.push(col)  
                        headers_set = true
                end

                if (counter % division == 0)
                        newcsv.close
                        newcsv = CSV.open("#{filename}_#{counter / division}.csv", "wb") 
                        headers.each { |i| newcsv << i }
                end
                
                newcsv << col.each { |i| [i.to_s] }
        end
        newcsv.close
end