Разделить CSV файл

Разделите большой CSV файл на части по числу строк, количеству файлов или размеру. Каждая часть сохраняет заголовок, поля в кавычках остаются целыми, и ничего не покидает ваш браузер.

Файлы обрабатываются локально в браузере и никуда не загружаются.

Файлы обрабатываются локально в браузере и никуда не загружаются.

Как работает разделение

Файл читается как поток байтов и режется только на границах строк, поэтому каждый выходной файл — самостоятельный корректный CSV.

  1. 1

    Найти конец каждой строки

    Байты просматриваются один раз. Перенос строки завершает запись только вне двойных кавычек, поэтому перенос внутри поля в кавычках, например в многострочном адресе, никогда не разрывает запись надвое.

  2. 2

    Разрезать на границах строк

    По строкам: каждые N строк данных начинается новый файл. По числу файлов: сначала подсчитывается общее число строк, затем они распределяются как можно равномернее. По размеру: строки добавляются, пока следующая не превысила бы ограничение.

  3. 3

    Собрать каждую часть

    Каждый выходной файл — это байты исходного заголовка плюс диапазон байтов исходного файла. Ничего не декодируется, не перекодируется и не копируется, поэтому файл в несколько гигабайт делится за секунды, не исчерпывая память.

Что сохраняется и что не поддерживается

  • Строки никогда не разрываются, даже если одна строка больше ограничения размера; такая строка становится отдельным файлом.
  • Поля в кавычках обрабатываются по RFC 4180: запятые, переносы строк и удвоенные кавычки ("") внутри кавычек — это данные.
  • Разделитель (запятая, точка с запятой, табуляция или вертикальная черта) определяется по первой строке, его можно изменить вручную. Он влияет на трактовку кавычек и предпросмотр, но не на то, где заканчиваются строки.
  • Метка порядка байтов UTF-8 и переносы строк CRLF из Windows сохраняются в каждой части, поэтому Excel открывает части точно так же, как оригинал.
  • Файлы UTF-16 отклоняются с сообщением; сначала сохраните их как UTF-8. За один запуск создаётся не более 5 000 файлов.
  • ZIP-архив создаётся без сжатия (метод store) и ограничен 4 ГБ; более крупные результаты можно скачать по одному файлу.

Разобранные примеры

Оба примера используют встроенные образцы, так что их можно загрузить и проверить каждую цифру.

Разделить 12 000 строк заказов на файлы по 5 000 строк

Загрузите пример «Заказы (12 000 строк)», оставьте режим «Строк в файле», введите 5000 и не выключайте переключатель заголовка.

  1. 1Первая строка «order_id,order_date,…» — заголовок. Остальные 12 000 строк — данные.
  2. 212 000 ÷ 5 000 = 2 полных файла и 2 000 строк остатка, поэтому получается три файла.
  3. 3Файлы 1 и 2 содержат строки 1–5 000 и 5 001–10 000. Файл 3 содержит строки 10 001–12 000.
  4. 4Каждый файл начинается с одной и той же строки заголовка, поэтому в них 5 001, 5 001 и 2 001 строка соответственно.

Результат: orders-2026_part_01.csv (5 000 строк), orders-2026_part_02.csv (5 000 строк), orders-2026_part_03.csv (2 000 строк). Вместе они содержат ровно 12 000 исходных строк.

Разделить 600 тикетов поддержки с многострочными заметками на 4 файла

Загрузите пример «Тикеты с многострочными заметками», выберите «Числу файлов» и введите 4.

  1. 1Столбец notes содержит текст в кавычках с запятыми, удвоенными кавычками и переносами строк. Первый проход считает строки, игнорируя переносы внутри кавычек, и находит 600 строк данных.
  2. 2Строк в файле = ceil(600 ÷ 4) = 150.
  3. 3Строки распределяются по порядку: тикеты T-0001–T-0150, T-0151–T-0300, T-0301–T-0450, T-0451–T-0600.
  4. 4Тикет, заметка которого занимает три строки, всё равно попадает в один файл, потому что разрез делается только в конце строки вне кавычек.

Результат: четыре файла по 150 тикетов. Откройте любую часть в таблице — многострочные заметки по-прежнему остаются одной ячейкой.

Вопросы и ответы

Вопросы о том, как этот инструмент обрабатывает файлы, заголовки и кодировки.

Загружается ли мой CSV на сервер?

Нет. Файл читается через File API браузера и делится на диапазоны байтов на вашем устройстве. Загрузки нет, а при закрытии вкладки всё удаляется.

Насколько большой CSV файл можно разделить?

Файл читается потоком, поэтому его размер не влияет на память; файлы больше 1 ГБ делятся без проблем. Практический предел — ZIP-архив, ограниченный 4 ГБ. Более крупные результаты можно скачать по одному файлу.

Сохраняется ли строка заголовка в каждом файле?

Да. Когда включено «Первая строка — заголовок», заголовок повторяется в начале каждой части. Выключите его, если в файле нет заголовка; тогда первая строка считается данными.

Что происходит с полями в кавычках, где есть запятые или переносы строк?

Они остаются целыми. Перенос строки внутри двойных кавычек считается частью поля, а не концом строки, а удвоенные кавычки ("") распознаются как экранированные.

Какие разделители поддерживаются?

Запятая, точка с запятой, табуляция и вертикальная черта. Разделитель определяется по первой строке, и его можно изменить, если определение ошибочно.

Откроет ли Excel разделённые файлы правильно?

Да. Если в исходном файле есть метка порядка байтов UTF-8 или переносы строк Windows, каждая часть их сохраняет, поэтому Excel читает части так же, как читал оригинал.

Делить по строкам или по размеру?

По строкам — когда у получателя есть лимит строк, например 1 048 576 строк на лист Excel или инструмент импорта, принимающий по 10 000 строк. По размеру — когда есть лимит загрузки в мегабайтах. По числу файлов — когда нужны равные части для параллельной обработки.

Как снова объединить части в один файл?

Склейте их и удалите повторяющиеся строки заголовка. В macOS или Linux: head -n 1 part_01.csv > all.csv; tail -n +2 -q part_*.csv >> all.csv. В Python то же самое делает pandas.concat по частям.