DT Data Tools

CSV Merge — объединение CSV-файлов онлайн

Объединяйте несколько CSV-файлов в браузере: добавляйте строки с сопоставлением столбцов по заголовкам или соединяйте файлы по ключевому столбцу через inner или left join.

🔒 Работает полностью в вашем браузере — ничего не загружается

Drop two or more CSV files here or click to browse

Comma, semicolon, tab and pipe delimiters are detected automatically.

Add at least two CSV files to begin.

Advertisement

Два способа объединить CSV-файлы

Данные редко поступают одним куском. Ежемесячные выгрузки, региональные отчёты и отдельные системы создают собственные CSV-файлы, и рано или поздно их нужно свести в одну таблицу. CSV Merge предлагает две операции, которые требуются чаще всего. Append rows (добавить строки) складывает файлы один под другим — это идеально, чтобы объединить выгрузки за январь, февраль и март в один файл с данными с начала года. Join on a key column (соединение по ключевому столбцу) располагает соответствующие записи рядом, например добавляет имена клиентов из одного файла к строкам заказов из другого по общему полю customer_id.

При добавлении строк столбцы сопоставляются по имени в заголовке, а не по позиции, поэтому файлы со столбцами в другом порядке или с лишними и отсутствующими полями всё равно выравниваются правильно. Итоговый заголовок — это объединение всех заголовков, а ячейки, которых нет в файле, остаются пустыми. Включите опцию source_file, чтобы добавить столбец, указывающий, из какого файла взята каждая строка.

Как работает соединение

Соединения выполняются от первого файла в списке к последнему. Селектор ключа предлагает только те столбцы, которые есть в каждом файле. Inner join (внутреннее соединение) сохраняет строки, ключ которых найден во всех файлах, а left join (левое соединение) сохраняет каждую строку первого файла и оставляет дополнительные столбцы пустыми, если совпадения нет. Если ключ встречается несколько раз в последующем файле, для каждого совпадения создаётся отдельная выходная строка — в точности как при соединении в SQL. Ключи сравниваются после удаления окружающих пробелов, а пустые ключи никогда не сопоставляются. Столбцы, имена которых совпадают с предыдущими, получают числовой суффикс, например name_2.

Приватно и надёжно

Разделитель каждого файла определяется автоматически, поля в кавычках, содержащие запятые или переводы строк, обрабатываются корректно, а метка порядка байтов (BOM) UTF-8 в начале файла игнорируется. Всё работает локально в вашем браузере; файлы никогда не загружаются на сервер, поэтому списки клиентов и финансовые выгрузки остаются на вашем устройстве. Просмотрите предпросмотр первых 100 строк, а затем скачайте полный объединённый файл с запятой, точкой с запятой, табуляцией или вертикальной чертой в качестве разделителя. Для более сложных комбинаций, например фильтров или агрегаций по нескольким файлам, попробуйте инструмент «SQL on CSV».

Как использовать

  1. Добавьте CSV-файлыПеретащите два или более CSV-файлов. Задайте их порядок стрелками; первый файл является базовой таблицей.
  2. Выберите режим объединенияИспользуйте Append rows, чтобы сложить файлы один под другим, или соедините их по ключевому столбцу, который есть в каждом файле.
  3. Объедините и просмотритеНажмите Merge files и проверьте предпросмотр объединённой таблицы.
  4. СкачайтеСохраните объединённый CSV с предпочитаемым разделителем.

Часто задаваемые вопросы

Должны ли файлы иметь одинаковые столбцы для добавления строк?
Нет. Столбцы сопоставляются по имени заголовка. Результат содержит все столбцы из всех файлов, а ячейки, которых нет в файле, остаются пустыми.
В чём разница между inner join и left join?
Inner join сохраняет только строки, ключ которых есть в каждом файле. Left join сохраняет каждую строку первого файла и оставляет столбцы других файлов пустыми, если совпадение не найдено.
Что происходит, если ключ встречается несколько раз?
Каждое совпадение создаёт собственную выходную строку, как при соединении в SQL. Ключи сравниваются после удаления пробелов, а пустые ключи никогда не совпадают.
Могут ли файлы использовать разные разделители?
Да. Разделитель каждого файла определяется отдельно, а разделитель для объединённого результата выбираете вы.
Загружаются ли мои CSV-файлы на сервер?
Нет. Файлы считываются и объединяются полностью в вашем браузере.
Advertisement