將 3 個 .csv 合併為一個具有不同列數的文件

將 3 個 .csv 合併為一個具有不同列數的文件

我有 3 個 .csv 文件,我想將它們合併到一個 .csv 文件中,該文件可以在 R 或 Matlab 中。
這些文件是:

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

我嘗試透過添加額外的 NaN 列在 MatLab 中垂直連接它們,但是我無法讓列在正確的位置對齊。我嘗試了 R 中的合併功能,但一直回到 no。列問題,沒有運氣。

我將不勝感激任何幫助!

在此輸入影像描述

答案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 並進行一些測試。

相關內容