3 CSV-Dateien mit unterschiedlicher Spaltenanzahl zu einer Datei zusammenführen

3 CSV-Dateien mit unterschiedlicher Spaltenanzahl zu einer Datei zusammenführen

Ich habe 3 CSV-Dateien und möchte sie zu einer CSV-Datei zusammenführen, die in R oder Matlab vorliegen kann.
Die Dateien sind:

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

Ich habe versucht, sie in MatLab vertikal zu verknüpfen, indem ich zusätzliche NaN-Spalten hinzugefügt habe, aber ich kann die Spalten nicht an den richtigen Positionen ausrichten. Ich habe die Zusammenführungsfunktion in R ausprobiert, komme aber immer wieder auf das Problem mit der Spaltenanzahl zurück, ohne Erfolg.

Ich freue mich über jede Hilfe!

Bildbeschreibung hier eingeben

Antwort1

Mit Miller (https://github.com/johnkerl/miller), wenn Sie beispielsweise diese 3 CSV-Dateien haben

cat input01.csv
a,b
1,2

cat input02.csv
a,c
7,3

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

und du läufst mlr --csv unsparsify input0*csv >output.csv, dann hast du

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

Verwenden Sie im Beispiel diese beiden Eingabedateien:

und läuft

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

Sie erhalten diese Ausgabe-CSV

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

Installieren Sie dann Miller und führen Sie einige Tests durch.

verwandte Informationen