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