Объединение списков

Этот калькулятор может объединять csv списки, используя указанную колонку в качестве ключа, аналогично операции JOIN языке SQL.

Я думаю, что большинство людей, когда-либо писавших запросы на языке SQL, знают о наличии там операции объединения таблиц JOIN. Но что делать, если у вас есть пара списков в формате csv (строки с разделителями), при этом в каждом списке есть колонка-ключ с совпадающими значениями, и вам хочется получить объединенный список?

Например, в такой ситуации:
Первый список:
1,Иван
2,Василий
3,Петр

Второй список:
1,Иванов
2,Васильев
3,Петров

Список, объединенный по значению нулевой колонки в первом списке и нулевой колонки во втором списке:
1,Иван,Иванов
2,Василий,Васильев
3,Петр,Петров

Конечно, можно создать таблицы в какой-нибудь СУБД, находящейся в данный момент под рукой, импортировать туда данные и написать-таки JOIN, или можно написать программу на каком-либо языке, делающую тоже самое. А еще можно просто воспользоваться калькулятором ниже и сэкономить время на что-то другое.

Итак, калькулятор ниже работает следующим образом:

  • Копируете в поле "Первый список" текст из вашего csv файла
  • Задаете регулярное выражение разбора строки (регулярное выражение по умолчанию разбирает строку из двух колонок, разделенных запятой)
  • Задаете индекс колонки ключа (по этой колонке будет идти объединение списков)
  • То же самое повторяете для второго списка (регулярное выражение по умолчанию разбирает строку из двух колонок, разделенных пробелом)
  • Задаете тип объединения: внутреннее (inner join), левостороннее внешнее (left outer join) или правостороннее внешнее (right outer join)
  • Задаете разделитель в строке объединенного списка
  • Задаете выражение замены для отсутствующих значений (NULL). Это только для внешних объединений, конечно.
  • Нажимаете "Рассчитать"
  • Получаете объединенный список, с ключевым значением в нулевой колонке

PLANETCALC, Объединение списков

Объединение списков

Нумерация начинается с нуля
Нумерация начинается с нуля
Для внешних объединений
Объединенный список
 

Ссылка скопирована в буфер обмена
PLANETCALC, Объединение списков

Комментарии