Объединить CSV
Объедините выгрузки с разным порядком колонок, разными кодировками и лишними полями в один аккуратный CSV.
Перетащите файлы сюда
.csv, .tsv, .txt · до 300 МБ
Как объединить файлы
- 1
Перетащите два или больше CSV
До двадцати файлов за раз. Кодировка и разделитель для каждого файла определяются отдельно, так что смешанный набор — не проблема.
- 2
Проверьте, как сопоставились колонки
По имени — вариант по умолчанию, он выдерживает разный порядок колонок. «Точное» требует одинаковых заголовков. «По позициям» полностью игнорирует имена.
- 3
Объедините и скачайте итоговый CSV
Вернется один файл, не архив — с разделителем и кодировкой, которые ожидает ваша следующая система.
Три способа выровнять колонки и когда какой подходит
Сопоставление по имени — то, что обычно имеют в виду под объединением. В мартовской выгрузке колонки идут id, name, email, а в апрельской — name, email, id. В результате все строки должны попасть в одни и те же три колонки. Сравнение не учитывает регистр и пробелы по краям, так что « ID » и «id» считаются одной колонкой. Точное сопоставление нужно, когда одинаковая структура — требование, а не надежда. При расхождении объединение останавливается и для каждого файла перечисляются недостающие и лишние колонки. Такая проверка нужна перед загрузкой данных в систему регулятора. Вариант «по позициям» игнорирует заголовки целиком и подходит для файлов без них или с ненадежными заголовками. При разных количествах колонок объединение останавливается и сообщает оба числа.
Новая колонка в одном файле — не ошибка
Чаще всего бывает так: кто-то добавил поле посреди года. При сопоставлении по имени эта колонка добавляется в конец канонического списка. Строки из более ранних файлов получают в ней пустое значение, а в уведомлении указано, какая колонка появилась позже остальных. Почти всегда это лучше, чем полностью отказываться от объединения, и это обратимо: вы увидите новую колонку в результате и сможете ее удалить. Файлы без единой строки данных пропускаются и учитываются в отчете, но не прерывают выполнение.
Смешанные кодировки и одна мера безопасности
Каждый входной файл анализируется отдельно. Поэтому выгрузка Windows-1251 из бухгалтерской программы без проблем объединяется с UTF-8 из веб-приложения, и кириллица в обеих сохраняется. Кодировку результата вы выбираете сами. По умолчанию используется UTF-8 с BOM, чтобы Excel корректно открыл файл. И одно изменение вносится намеренно: любое значение, которое начинается с =, +, - или @, дополняется апострофом в начале. Таблицы воспринимают такие значения как формулы, а объединенный файл из данных, которые вводили не вы, — тот случай, когда защита от формульной инъекции особенно важна.
Все происходит в этой вкладке
Каждый файл читается, разбирается и объединяется локально в вашем браузере. Ничего не загружается на сервер. Это важно: при объединении обычно сводятся вместе несколько частичных выгрузок клиентов или транзакций.
Частые вопросы
Что делать, если в файлах разные колонки?
При сопоставлении по имени по умолчанию результат содержит объединенный список всех колонок в порядке первого появления. Строки из файлов без какой-то колонки получают там пустое значение. В уведомлении перечисляются колонки, которые появились только в более поздних файлах.
Как убрать дублирующиеся строки?
Включите опцию удаления дубликатов. Строки сравниваются по всем значениям, первая встреченная версия каждой сохраняется, а количество отброшенных дубликатов показывается отдельно, чтобы вы могли проверить результат.
Можно ли объединить файлы с разными кодировками?
Да. Кодировка определяется для каждого файла отдельно: сначала по BOM, затем строгой проверкой UTF-8 и в конце эвристикой между Windows-1251 и Windows-1252. Поэтому смешанный набор объединяется без «кракозябр».
Для чего нужна колонка __source_file?
Если включить эту опцию, колонка становится первой и хранит имя файла, из которого пришла каждая строка, без расширения. Это самый простой способ отследить подозрительную строку до исходного файла после объединения.
В каком порядке строки попадают в результат?
По умолчанию — в порядке, в котором вы добавили файлы. Если переключиться на сортировку по имени файла, используется естественный порядок: file2 будет перед file10, а не после него.
Что если один из файлов оказался Excel?
Если содержимое файла начинается с сигнатуры ZIP, значит это XLSX, переименованный в .csv. Объединение останавливается, в сообщении указывается имя такого файла и дается ссылка на конвертер Excel в CSV.
Точно ли ничего не загружается?
Да. Чтение, разбор, сопоставление и запись происходят целиком в вашем браузере, а объединенный файл создается локально без участия сервера.