Гид по технологиям

Как разбить большой CSV или Excel‑файл на несколько меньших файлов

9 min read Excel Обновлено 01 Jan 2026
Как разбить большой CSV/Excel‑файл на несколько файлов
Как разбить большой CSV/Excel‑файл на несколько файлов

множество чисел в электронных таблицах (3D‑рендер)

Microsoft Excel отлично подходит для ежедневных задач. Но иногда вы сталкиваетесь с ограничением — слишком большой размер таблицы. Здесь мы подробно рассмотрим, как уменьшить файл Excel или разбить большой CSV на несколько файлов, и предложим несколько методов на выбор.

Зачем делить большой CSV на несколько файлов?

Возможно, вы спросите: зачем вообще делить большой Excel или CSV? Дело в том, что Excel имеет ограничение по строкам — 1 048 576 строк на лист. Это много, но при работе с экспортами баз, рассылками или логами вы очень быстро можете достичь этого предела.

Например, при маркетинговой рассылке вы можете импортировать CSV с миллионами адресов. Справляться с таким файлом в Excel неудобно и рискованно. Аналогично, кто‑то может прислать CSV, который уже превышает лимит Excel. В таких случаях полезно заранее разбить файл на более мелкие части.

Если у вас нет подходящего примера для практики, в статье использовался открытый набор данных COVID‑19 Open Research Dataset, который можно скачать и использовать для тестов.

Какими способами можно разбить CSV — обзор

  • Использовать программы‑разделители CSV
  • Написать пакетный .bat‑файл (Windows)
  • Запустить PowerShell‑скрипт (Windows)
  • Загружать через Power Pivot и работать с данными в модели (не разбивает файл, но обходит лимит)
  • Онлайн‑сервисы, например Split CSV

Ниже — подробные инструкции по каждому из подходов, а также дополнительные рекомендации: когда метод не подойдёт, чек‑листы по ролям, мини‑методология выбора и вопросы безопасности.


1. Разделение CSV с помощью программы

Существуют готовые программы‑разделители CSV. Они просты в использовании: указываете файл, число строк на выходной файл и получаете набор меньших файлов. Обратите внимание на возможные проблемы с памятью при очень больших файлах.

Free Huge CSV Splitter

интерфейс программы для разделения CSV

Free Huge CSV Splitter — базовый инструмент. Укажите CSV, задайте количество строк на файл и нажмите Split File (Разбить файл). Вводите желаемый размер фрагмента по строкам, программа создаст нужное количество файлов.

CSV Splitter

разделение большого CSV с помощью программы

CSV Splitter похож по функционалу, но имеет более современный интерфейс. Программа быстро делит файл на части и даёт гибкость в выборе размера выходных файлов.

Советы по использованию программ:

  • Тестируйте на небольших образцах перед запуском на гигантских файлах.
  • Смотрите доступную оперативную память — некоторые программы читают файл полностью в память.
  • При больших объёмах выбирайте утилиты, которые стримят файл (построчное чтение), а не загружают его целиком.

2. Использование пакетного файла (.bat)

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

        `@echo off  
  
setlocal ENABLEDELAYEDEXPANSION  
  
REM Edit this value to change the name of the file that needs splitting. Include the extension.  
  
SET BFN=HCAHPSHospital.csv  
  
REM Edit this value to change the number of lines per file.  
  
SET LPF=2500  
  
REM Edit this value to change the name of each short file. It will be followed by a number indicating where it is in the list.  
  
SET SFN=HosptialSplitFile  
  
REM Do not change beyond this line.  
  
SET SFX=%BFN:~-3%  
  
SET /A LineNum=0  
  
SET /A FileNum=1  
  
For /F "delims==" %%l in (%BFN%) Do (  
  
SET /A LineNum+=1  
  
echo %%l >> %SFN%!FileNum!.%SFX%  
  
if !LineNum! EQU !LPF! (  
  
SET /A LineNum=0  
  
SET /A FileNum+=1  
  
)  
  
)  
  
endlocal  
  
Pause  
`
    

Перед запуском настройте переменные:

  • SET BFN — имя исходного CSV (с расширением)
  • SET LPF — число строк в каждой части
  • SET SFN — шаблон имени выходных файлов

Сохраните файл как .bat: в Блокноте выберите Файл > Сохранить как, смените расширение .txt на .bat и подтвердите.

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


3. Разделение через PowerShell

PowerShell эффективнее пакетных файлов и лучше справляется с большими объёмами за счёт встроенных механизмов работы со строковыми массивами и потоковой записи.

Откройте PowerShell (Win + X -> Windows PowerShell или в меню Пуск введите powershell). Скопируйте скрипт ниже и отредактируйте путь к файлу.

        `$InputFilename = Get-Content 'C:\file\location'  
  
$OutputFilenamePattern = 'output_done_'  
  
$LineLimit = 50000  
  
$line = 0  
  
$i = 0  
  
$file = 0  
  
$start = 0  
  
while ($line -le $InputFilename.Length) {  
  
if ($i -eq $LineLimit -Or $line -eq $InputFilename.Length) {  
  
$file++  
  
$Filename = "$OutputFilenamePattern$file.csv"  
  
$InputFilename[$start..($line-1)] | Out-File $Filename -Force  
  
$start = $line;  
  
$i = 0  
  
Write-Host "$Filename"  
  
}  
  
$i++;  
  
$line++  

}
`
    

Примечания:

  • Измените ‘C:\file\location’ на путь к вашему CSV.
  • $LineLimit — число строк в каждом выходном файле.
  • Скрипт создаст файлы output_done_1.csv, output_done_2.csv и т.д. в текущей папке пользователя.

Плюсы PowerShell: гибкость, можно добавить обработку кодировки, фильтрацию строк и логирование. Минусы: требует базовых знаний PowerShell.

сценарий PowerShell для разделения CSV


4. Использование Power Pivot (обход лимита Excel)

Power Pivot в Excel, подключённая большая таблица

Power Pivot позволяет импортировать большие наборы данных в модель данных Excel и анализировать их с помощью сводных таблиц без традиционного ограничения в 1 048 576 строк на листе. Это не разбивает файл физически, но даёт возможность работать с большими объёмами в рамках Excel.

Коротко:

  • Создайте подключение к CSV через «Данные» → «Получить данные» → «Из файла» → «Из текста/CSV».
  • Загрузите данные в модель данных (Load to Data Model).
  • Откройте Power Pivot или создайте Сводную таблицу поверх модели.

Преимущество: вы можете анализировать миллионы строк, не разбивая их на файлы. Недостаток: это требует оперативной памяти и навыков работы с Power Pivot/Power Query.


5. Онлайн‑сервисы: Split CSV и другие

онлайн‑инструмент для разделения CSV

Онлайн‑сервисы, такие как Split CSV, предлагают быстрый способ разделить CSV, указав число строк на файл. Они удобны, когда у вас нет доступа к Windows‑утилитам или требуется быстро получить результат.

Плюсы: не требует установки ПО, часто есть дополнительные опции (удаление дубликатов, смена разделителя, выбор формата). Минусы: риск конфиденциальности — не загружайте личные или чувствительные данные на сторонние сервисы без политики безопасности.

Split CSV хорошо справился с тестовым набором COVID‑19, но результаты зависят от размера файла, соединения и ограничений сервиса.


Как выбрать метод — мини‑методология

  1. Оцените объём и размер файла в МБ/ГБ.
  2. Определите чувствительность данных (можно ли их загружать онлайн?).
  3. Оцените доступные инструменты (есть‑ли PowerShell/Power Pivot/Windows).
  4. Установите цель: просто разбить на части или нужно анализировать внутри Excel.
  5. Выберите метод и протестируйте на небольшом образце.

Пример выбора:

  • Если файл > 1 ГБ и приватность важна — используйте PowerShell или локальную программу.
  • Если нужно быстро и данные публичны — онлайн‑сервис подойдёт.
  • Если нужно анализировать в Excel без разбиения — используйте Power Pivot.

Схема принятия решения

flowchart TD
  A[Есть большой CSV/Excel?] --> B{Данные приватны?}
  B -- Да --> C[Использовать локальные инструменты]
  B -- Нет --> D[Можно использовать онлайн‑сервис]
  C --> E{Требуется автоматизация?}
  E -- Да --> F[PowerShell или .bat]
  E -- Нет --> G[Программа‑разделитель]
  D --> H[Онлайн Split CSV]
  G --> I[Проверить кодировку и разделитель]
  F --> I
  I --> J[Тест на образце]
  J --> K[Выполнить на полном файле]

Когда методы не подходят

  • Файлы слишком большие и превышают объём диска/памяти — нужно работать на сервере или через потоковую обработку (например, Python с итераторами).
  • CSV с неоднородной структурой (многострочные поля, вложенные кавычки) — стандартные сплиттеры могут «сломать» структуру; требуется парсер, учитывающий разделитель и экранирование.
  • Очень чувствительные данные — онлайн‑сервисы и публичные инструменты исключены по соображениям безопасности.

Альтернативы в таких случаях: использовать скрипт на Python (pandas, csv.reader с yield), запускать обработку на сервере с достаточной памятью или подготавливать экспорт из исходной СУБД по частям.


Чек‑лист по ролям

Чек‑лист для аналитика:

  • Оценить число строк и размер файла.
  • Обозначить нужный размер фрагмента (строки/МБ).
  • Проверить кодировку и разделитель.
  • Выбрать инструмент и протестировать на 1000 строк.
  • Выполнить разбиение и проверить первые/последние строки каждого файла.

Чек‑лист для администратора/инженера данных:

  • Проверить доступность дискового пространства и RAM.
  • Выбрать скрипт/утилиту, учитывая потоковую обработку.
  • Настроить логирование и резервную копию исходного файла.
  • Автоматизировать задачу (планировщик, CI/CD).

Чек‑лист для маркетолога/не‑технического пользователя:

  • Решить, можно ли загрузить файл в онлайн‑сервис.
  • Установить желаемое число строк в каждом файле.
  • Сделать резервную копию исходного файла.
  • Проверить несколько выходных файлов в Excel.

Критерии приёмки

  • Все выходные файлы открываются корректно в целевой программе (Excel, текстовый редактор).
  • Нет разрывов данных внутри строк (сохранены все поля и кавычки).
  • Суммарное число строк выходных файлов равно числу строк исходного файла.
  • Кодировка и разделитель совпадают с требованиями при импорте в целевое приложение.

Безопасность и конфиденциальность

Важно: не загружайте конфиденциальные данные на непроверенные онлайн‑сервисы. Для персональных данных (PII) и коммерческой информации используйте локальные инструменты и шифрование при транспортировке. Убедитесь, что у сервиса есть политика удаления загруженных файлов, если он используется.


Полезные сниппеты и советы

  • Если формат CSV сложный (многострочные поля), используйте парсер, который поддерживает экранирование (например, Python csv.reader или специализированные утилиты).
  • Для автоматизации в Linux/Unix доступна команда split с параметром по числу строк: split -l 10000 input.csv part_. (Примечание: в этой статье основная фокусировка — Windows‑подходы.)

Мини‑шпаргалка по выбору:

  • Скорость и масштаб — PowerShell / местные программы
  • Конфиденциальность — локальные решения
  • Простота — онлайн‑инструменты
  • Анализ в Excel — Power Pivot

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

Можно ли в Excel автоматически сохранить файл по частям?

Excel не умеет напрямую разбивать один лист на несколько файлов по числу строк. Для этого используются внешние утилиты, скрипты или загрузка в Power Pivot.

Что делать с кодировкой (UTF‑8, ANSI)?

Проверяйте кодировку исходного CSV. Если выходные файлы открываются с искажёнными символами, конвертируйте в UTF‑8 с BOM или используйте инструмент, который поддерживает нужную кодировку.

Есть ли способ в macOS/Linux?

Да — стандартные утилиты (split, awk) и скрипты на Python удобны в Unix‑системах. Онлайн‑сервисы также доступны независимо от ОС.


Глоссарий (в 1 строку)

CSV: текстовый формат таблицы, значения разделены разделителем (запятая, точка с запятой и т.д.).


Резюме

Выбор метода зависит от объёма данных, чувствительности и требуемой автоматизации. Для быстрых задач подойдёт онлайн‑сервис, для автоматизации и приватности — PowerShell или пакетный файл, а для аналитики внутри Excel — Power Pivot. Всегда тестируйте процесс на небольшом образце и делайте резервные копии исходного файла.

Воспользуйтесь чек‑листами выше и схемой принятия решения, чтобы выбрать подходящий инструмент и избежать типичных ошибок.


Если нужно, могу подготовить готовые скрипты для вашего конкретного CSV (учитывая разделитель и кодировку) или показать пример разбиения на Python для Unix‑систем.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство