23 lines
		
	
	
		
			540 B
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			540 B
		
	
	
	
		
			Ruby
		
	
	
		
			Executable File
		
	
	
#!/usr/bin/env ruby
 | 
						|
# frozen_string_literal: true
 | 
						|
 | 
						|
require 'csv'
 | 
						|
 | 
						|
def join_csv_files(output_path, input_paths)
 | 
						|
  return if input_paths.empty?
 | 
						|
 | 
						|
  input_csvs = input_paths.map do |input_path|
 | 
						|
    CSV.read(input_path, headers: true)
 | 
						|
  end
 | 
						|
 | 
						|
  CSV.open(output_path, "w", headers: input_csvs.first.headers, write_headers: true) do |output_csv|
 | 
						|
    input_csvs.each do |input_csv|
 | 
						|
      input_csv.each do |line|
 | 
						|
        output_csv << line
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
join_csv_files('tmp/memory_test/report.csv', Dir['tmp/memory_test/*.csv'].sort)
 |