Объединить 3 .csv в один файл с разным количеством столбцов

Объединить 3 .csv в один файл с разным количеством столбцов

У меня есть 3 файла .csv, и я хочу объединить их в один файл .csv, который может быть в R или Matlab.
Файлы следующие:

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

Я пробовал вертикальное объединение их в MatLab, добавляя дополнительные столбцы NaN, однако мне не удаётся выровнять столбцы в правильных позициях. Я пробовал функцию merge в R, но всё время возвращаюсь к проблеме с количеством столбцов, безуспешно.

Буду признателен за любую помощь!

введите описание изображения здесь

решение1

Используя Миллера (https://github.com/johnkerl/miller), если у вас есть в примере эти 3 CSV-файла

cat input01.csv
a,b
1,2

cat input02.csv
a,c
7,3

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

и ты побежишь mlr --csv unsparsify input0*csv >output.csv, у тебя будет

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

Используя в качестве примера эти два входных файла:

и бег

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

у вас будет этот выходной CSV

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

Затем установите Miller и проведите несколько тестов.

Связанный контент