Нужна помощь, чтобы присоединиться к двум файлам CSV - PullRequest
0 голосов
/ 25 января 2020

Мне нужно несколько советов о том, как я могу это сделать. Итак, у меня есть два файла CSV. В обоих этих файлах CSV есть столбец номера телефона. Я хочу соединить все строки с одинаковым номером телефона из обоих файлов вместе. Например:

Файл 1:

David Testington, 7965848344, male
Samuel Davidton, 7948574353, male
Francis Doodleton, 7954574544, female

Файл 2:

7954574544, landline
7948574353, mobile
7965848344, page

Желаемый вывод:

David Testington, 7965848344, male, 7965848344, page
Samuel Davidton, 7948574353, male, 7948574353, mobile
Francis Doodleton, 7954574544, female, 7954574544, landline

Есть ли что-либо сделать это на Ubuntu?

1 Ответ

1 голос
/ 26 января 2020

Вы можете использовать Миллера (https://github.com/johnkerl/miller).

Сначала очистите входные файлы (у вас неправильные пробелы , 7965848344,, а не ,7965848344,)

mlr -I --csv -N clean-whitespace input1 input2

Затем, чтобы присоединиться к ним, запустите

mlr --csv -N join -j 2 -l 2 -r 1 --lp l --rp r -f input1 then reorder -f l1 input2 >output

, чтобы получить

+-------------------+------------+--------+----------+
| Francis Doodleton | 7954574544 | female | landline |
| Samuel Davidton   | 7948574353 | male   | mobile   |
| David Testington  | 7965848344 | male   | page     |
+-------------------+------------+--------+----------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...