#!/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)