Домашний IT своими рукамиПроверено руками, а не пересказано
Технологии
для осознанной жизни
Подписаться
Автоматизация

Как объединить несколько CSV-файлов в один: онлайн и 3 способа без программ

Объединить CSV-файлы в один онлайн прямо в браузере (файлы никуда не загружаются) или командой в Windows и Linux: без повторов шапки, кракозябр и склеенных строк.

обновлено 18 сентября 2026 7 минут чтения 2 комментария
Три CSV-файла объединяются в один командой copy в командной строке Windows
Проверено: сентябрь 2026, Windows 10 22H2, PowerShell 5.1, Ubuntu 24.04. Все цифры - собственные замеры, скриншоты с реальной установки.
Содержание статьи
  1. Объединить CSV-файлы онлайн: бесплатная утилита
  2. Подготовка: сложите файлы в одну папку
  3. Способ 1. Командная строка: одна команда
  4. Способ 2. PowerShell: одна шапка и правильный порядок
  5. Способ 3. Linux и WSL: одна строка
  6. Частые проблемы после объединения
  7. Частые вопросы
  8. Читайте также

Выгрузки из CRM, интернет-магазина, банка или рекламного кабинета часто приходят пачкой CSV-файлов: по дням, по менеджерам, по складам. Чтобы разобрать их в Excel, файлы нужно сначала собрать в один. Когда файлов два-три, можно скопировать строки руками. Когда их десятки или сотни, это работа для одной команды.

Ниже онлайн-утилита, которая делает всё прямо в браузере, и три способа без сторонних программ. Все команды я проверил на настоящих файлах и заодно нашёл подвохи, из-за которых склеенный файл получается испорченным. О них тоже расскажу.

Объединить CSV-файлы онлайн: бесплатная утилита

Добавьте файлы и скачайте результат. Утилита оставит одну шапку, сопоставит столбцы по названиям (даже если в файлах они идут в разном порядке), сама определит разделитель и кодировку, в том числе старую Windows-1251, из-за которой обычно появляются кракозябры. Итоговый файл Excel откроет с русскими буквами.

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

Какой способ выбрать

  • Нужно быстро и без команд: утилита выше.
  • В файлах есть строка с названиями столбцов (почти всегда так): способ 2, PowerShell. Шапка останется одна, строки не склеятся, файлы пойдут по порядку.
  • Шапок нет, файлы чистые, нужно очень быстро: способ 1, одна команда copy /b.
  • Linux или WSL: способ 3, одна строка с awk.

Подготовка: сложите файлы в одну папку

Создайте папку, например C:\total, и скопируйте туда все CSV-файлы, которые нужно объединить. Больше в этой папке ничего быть не должно.

Для примеров ниже у меня три файла: 1.csv, 2.csv и 10.csv. В каждом есть шапка id;имя;город и несколько строк, в кодировке UTF-8, как их обычно отдают современные сервисы.

Способ 1. Командная строка: одна команда

  1. Нажмите Win+R, введите cmd и нажмите ОК.
  2. Перейдите в папку с файлами:
Командная строка
cd C:\total
  1. Выполните команду, где result.csv - имя итогового файла:
Командная строка
copy /b *.csv result.csv

Командная строка перечислит файлы, которые склеила, и сообщит, что создан один файл (в русской Windows: «Скопировано файлов: 1»):

Вывод
1.csv
10.csv
2.csv
        1 file(s) copied.

Ключ /b обязателен. Без него copy дописывает в конец файла служебный символ Ctrl+Z (байт 1A), и в последней ячейке таблицы появляется мусор.

Итого: copy /b хорош, когда шапок нет и файлы заведомо аккуратные. Во всех остальных случаях берите способ 2.

Способ 2. PowerShell: одна шапка и правильный порядок

PowerShell есть в любой Windows 10 и 11, ставить ничего не нужно. Этот способ оставляет одну шапку, сортирует файлы по-человечески (1, 2, 10), не склеивает строки и сохраняет результат так, что Excel правильно показывает русские буквы.

  1. Нажмите Win+R, введите powershell и нажмите ОК.
  2. Перейдите в папку с файлами:
PowerShell
cd C:\total
  1. Скопируйте и вставьте весь блок целиком, затем нажмите Enter:
PowerShell
$files = Get-ChildItem *.csv -Exclude result.csv |
    Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(10, '0') }) }
$header = Get-Content $files[0] -TotalCount 1 -Encoding UTF8
$body = foreach ($f in $files) { Get-Content $f -Encoding UTF8 | Select-Object -Skip 1 }
@($header) + $body | Set-Content result.csv -Encoding UTF8

В папке появится result.csv. Вот что получилось из моих трёх файлов:

Вывод
id;имя;город
1;Анна;Москва
2;Борис;Казань
3;Вера;Самара
4;Глеб;Сочи
5;Дина;Омск

Шапка одна, порядок правильный, строки не склеились.

Что делает каждая строка:

  • первая собирает все CSV-файлы в папке, кроме самого result.csv (чтобы при повторном запуске он не попал сам в себя), и сортирует их по номерам;
  • вторая берёт шапку из первого файла;
  • третья берёт из каждого файла все строки, кроме первой;
  • четвёртая записывает шапку и строки в result.csv в кодировке UTF-8 с меткой BOM, по которой Excel понимает, что в файле русские буквы.

Сколько это занимает. Я проверил на 50 файлах по 20 000 строк: миллион строк и 52 МБ склеились за 26 секунд. Для обычных выгрузок это мгновенно.

Способ 3. Linux и WSL: одна строка

В Linux (и в Ubuntu внутри Windows через WSL) то же самое делает awk:

Терминал
cd ~/total
awk 'FNR==1 { sub(/^\xef\xbb\xbf/, ""); if (NR!=1) next } { sub(/\r$/, ""); print }' $(ls -v *.csv) > ../result.csv

Команда берёт шапку только из первого файла, убирает метки BOM и виндовые переводы строк, а ls -v задаёт порядок 1, 2, 10. Результат пишется на уровень выше, чтобы при повторном запуске он не попал в список файлов. Проверено в Ubuntu 24.04.

Если нужен файл для Excel, удобнее сделать это в Windows способом 2: команда awk сохраняет результат без метки BOM и с переводами строк Linux.

Частые проблемы после объединения

Что видно Почему Что делать
В последней ячейке непонятный символ copy без ключа /b дописал Ctrl+Z Склеить заново с /b или способом 2
Строка с названиями столбцов повторяется copy склеивает файлы целиком Способ 2 или 3
Две строки слиплись в одну Файл не заканчивался переводом строки Способ 2 или 3
Вместо русских букв кракозябры Кодировка файлов не та, что ожидается В способе 2 -Encoding Default для чтения
Файлы идут в порядке 1, 10, 2 Сортировка по алфавиту Способ 2 или 3 либо переименовать в 01, 02, 10
В Excel всё в одном столбце Разделитель запятая, а Excel ждёт точку с запятой Открыть через «Данные» → «Из текстового/CSV-файла» и выбрать разделитель

Частые вопросы

Сколько файлов можно объединить?

Сколько угодно, ограничений у команд нет. Ограничение есть у Excel: на одном листе помещается 1 048 576 строк. Если итог больше, Excel откроет только первую часть.

Что делать, если в файлах разные столбцы?

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

Можно ли объединить CSV без командной строки?

Можно. Проще всего утилитой в начале статьи. В Excel то же умеет встроенная надстройка Power Query: «Данные» → «Получить данные» → «Из файла» → «Из папки».

Безопасно ли объединять файлы онлайн?

Зависит от сервиса. Многие онлайн-сервисы загружают ваши файлы на свой сервер, и что с ними происходит дальше, неизвестно. Утилита на этой странице работает иначе: файлы читаются и склеиваются в самом браузере и никуда не отправляются. Проверить просто: откройте страницу, отключите интернет, и объединение всё равно сработает.

Как объединить CSV по столбцам, а не по строкам?

Это другая задача: нужно подтянуть данные из одной таблицы в другую по общему полю, например по номеру заказа. В Excel для этого служат функции ВПР и ПРОСМОТРX. Способы из этой статьи для неё не подходят.

Читайте также

CSVонлайн-утилитакомандная строкаPowerShellWindowsExcelLinux
Статья помогла?

Комментарии 2

Без регистрации. Комментарии проходят проверку перед публикацией, ссылки не публикуются.
А
Артем

Спасибо, полезно. Пытался через pyton склеить, но что-то не пошло. А можно было через powershell :o

G
Goterbie автор

А теперь ещё можно прямо в браузере склеивать, добавлена утилита, которая работает локально на вашем ПК (даже офлайн).