Mesclar 3 .csv em um arquivo com número diferente de colunas

Mesclar 3 .csv em um arquivo com número diferente de colunas

Eu tenho 3 arquivos .csv e quero mesclá-los em um arquivo .csv que pode estar em R ou Matlab.
Os arquivos são:

1597 obs of 167 variables;
160 obs of 167 variables;
533 obs of 146 variables 

Tentei concatená-los verticalmente no MatLab adicionando colunas extras de NaN, mas não consigo alinhar as colunas nas posições corretas. Tentei a função de mesclagem em R, mas continuo voltando ao não. de emissão de colunas, sem sorte.

Eu apreciaria qualquer ajuda!

insira a descrição da imagem aqui

Responder1

Usando Miller (https://github.com/johnkerl/miller), se você tiver por exemplo esses 3 arquivos CSV

cat input01.csv
a,b
1,2

cat input02.csv
a,c
7,3

cat input03.csv
a,b,c
9,12,1

e você corre mlr --csv unsparsify input0*csv >output.csv, você terá

+---+----+---+
| a | b  | c |
+---+----+---+
| 1 | 2  | - |
| 7 | -  | 3 |
| 9 | 12 | 1 |
+---+----+---+

Usando como exemplo estes dois arquivos de entrada:

e correndo

mlr --csv unsparsify input_0*.csv >output.csv

você terá esta saída CSV

+------------------+-----------------+---------------+
| Plastic: Cleaner | Plastic: Drinks | Plastic: Caps |
+------------------+-----------------+---------------+
| -                | 7               | -             |
| 4                | 5               | -             |
| 5                | 3               | -             |
| 2                | -               | 8             |
+------------------+-----------------+---------------+

Em seguida instale o Miller e faça alguns testes.

informação relacionada