1 つの CSV に水平方向にマージする必要がある約 50 個の CSV ファイルがあります。
ヘッダーは無視できます。ファイルを少し簡略化すると、次のようになります。
ファイル 1:
1,2,4,5,6
4,5,68,7,4,2
1,2
1,2,3
ファイル 2:
1,2,4
4,5,6,4
3,4,5
3,4,5
出力は次のようになります。
1,2,4,5,6,1,2,4
4,5,68,7,4,2,4,5,6,4
1,2,3,4,5
3,4,5
1,2,3
ファイルをマージする順序も重要ではありません。それらを垂直にマージする方法は知っていますが、水平にマージする方法はわかりません。ネストされた配列でこのようなことを考えましたが、うまくいきませんが、理由はわかりません。データ配列が行配列を受け入れないようです。
#!/usr/bin/env ruby
require 'csv'
data = Array.new
filecount=1
linecount=1
CSV.open("output.csv", "wb") do |output|
Dir.glob('*.csv').each do |each|
next if each == 'output.csv'
file = CSV.read(each)
file.each do |line|
data[filecount][linecount] = line
linecount=linecount+1
end
filecount=filecount+1
end
end
puts data