Как разбить большой файл CSV на несколько файлов?
- Для чего это необходимо
- Первый способ — разбить с помощью программы
- 1. Free Huge CSV Splitter.
- 2. CSV Splitter.
- Второй способ — использование пакетного файла
- Третий способ — использование сценария PowerShell
- Четвёртый способ — использовать Power Pivot
- Пятый способ — использование онлайн сервисов для разделения CSV файлов
- Подводя итог: каковы различные способы разделения файла CSV?
- Часто Задаваемые Вопросы
CSV файл — это файл электронной таблицы Excel. Это именно та программа, которая способна справляться просто с огромным количеством задач, с которыми люди сталкиваются каждый день. На первый взгляд может показаться, что таблица Эксель бесконечна, но на самом деле это не так, и простому пользователю это будет достаточно сложно проверить. Но если вы здесь и читаете эту статью, значит точно понимаете, в чём может быть дело.
Для чего это необходимо
Зачем может пригодиться навык деления большого файла CSV на несколько маленьких? Эксель имеет в своём арсенале чуть более миллиона строк и столбцов, и если просто смотреть на лист, может казаться, что заполнить его целиком очень сложно, но на самом деле это проще, чем вы думаете.
Давайте представим ситуацию: вы владеете достаточно крупным бизнесом, который связан с продажами или предоставлением каких-либо услуг. Вы работаете приличное количество времени, поэтому у вас в распоряжении есть большая база ваших клиентов, состоящая из электронных почтовых адресов и имён. Вы успешно импортировали файл CSV, и поняли, что вся таблица заполнена. Что дальше?
Дальше приходит понимание, что управлять такой огромной таблицей очень не просто, даже если вы знаете всякие «хитрые» приёмы Эксель, умеете пользоваться фильтрами и формулами. Или ещё может сложиться такая ситуация, что вам кто-то прислал такой файл, иногда он даже может превышать лимит, если был создан в какой-то другой программе.
Первый способ — разбить с помощью программы
В интернете есть достаточное количество программ, которые способны справиться с разделением большого CSV файла на несколько маленьких, но не все из них идеально справляются с поставленной задачей, поэтому мы будем рассматривать в рамках данной статьи только лучшие программы из данной категории.
1. Free Huge CSV Splitter.
Эта программа считается базовым инструментом для разделения CSV файлов. Работает она по очень простому принципу: нужно выбрать файл, который необходимо разделить, а также указать количество строк, которое нужно использовать, после чего нажать кнопку «Split file».
2. CSV Splitter.
Эта программа работает по тому же принципу, что и первая, с той лишь разницей, что у Сплиттера немного более гладкий дизайн, хотя кому-то простота первой программы может показаться более уместной при выполнении такой задачи.
Второй способ — использование пакетного файла
Этот вариант немного сложнее, чем первый, поэтому здесь очень важно соблюдать чёткую инструкцию.
После использования пакетного файла необходимо создать программируемый командный файл. Для этого нужно создать и открыть новый текстовый документ, написать следующее:
@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. If 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==” %%1 in (%BFN%) Do (
SET /A LeneNum+=1
echo %%1 >> %SFN%!FileNum! .%SFX%
if !LineNum! EQU !LPF! (
SET /A LineNum=0
SET /A LineNum+=1
)
)
endlocal
Pause
Источник кода: как разделить огромную электронную таблицу CSV Excel на отдельные файлыНо не стоит торопиться, поскольку перед запуском нужно настроить командный файл. Чтобы понимать, как это работает, нужно разобраться, для чего и как работает каждая команда, которая использовалась выше.
«SET BFN» — это очень важная команда, потому что именно с помощью неё указывается CSV файл, который необходимо разбить.
Команда «SET LPF» укажет на то, сколько строк будет в новом файле.
«SET SFN» отвечает за то, как будут именоваться новые разделённые файлы.
Теперь переходим к самому интересному — использованию получившегося файла. Чтобы это сделать, надо нажать Файл > Сохранить как > выбрать имя файла. После этого выбрать этот же файл и нажать кнопку F2, это даст возможность изменить формат этого файла с .txt на .bat. Появится предупреждение, нужно согласиться и нажать ОК.
Именно после выполнения этих действий можно успешно разделить файл CSV на более маленькие файлы.
Третий способ — использование сценария PowerShell
Конечно же, для разделения больших CSV-файлов можно пользоваться предыдущим способом с использованием командных файлов, однако стоит знать о том, что сценарии PowerShall гораздо быстрее и удобнее, а также лучше подходят для современных сборок.
Сначала пользователю необходимо попасть в специальное меню Windows Power. Для этого он должен нажать комбинацию клавиш CTRL+R. В открывшемся меню как раз и будет находиться PowerShall. Если по какой-то причине этот способ не сработал, тогда можно ввести powershell прямо в строке поиска в «Пуске» и выбрать «Лучшее совпадение». После этого необходимо прописать следующий скрипт:
$InputFilename = Get-Content ‘C:filelocation’
$0outputFilenamePattern = ‘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.Lenght) {
$file++
$Filename = “$OutputFilenamePattern$file.csv”
$InputFilename[$start..($line-1)] | Out-File $Filename -Force
$start = $line;
£i = 0
Write-Host “$Filename”
}
$i++;
$line++
}
Источник кода: как разделить огромную электронную таблицу Excel CSV на отдельные файлыПрежде чем работать с этим скриптом, нужно понимать, что вместо «filelocation» должно быть прописано местоположение вашего файла CSV, который необходимо разделить.
Четвёртый способ — использовать Power Pivot
На самом деле, Power Pivot не разбивает файлы CSV на несколько маленьких файлов, принцип работы этой программы немного другой.
Чтобы воспользоваться ей, нужно загрузить CSV файл в Эксель, а затем использовать эту программу, чтобы открыть его. Получается, фактически разделение файла не происходит, он остаётся единым целым, но при этом при помощи программы удаётся обойти ограничение в миллион строк. В это сложно поверить, но некоторые люди, которые воспользовались этим вариантом, выложили скриншот на форум, на котором в Экселе отображается два миллиона строк.
Пятый способ — использование онлайн сервисов для разделения CSV файлов
Если нет желания разбираться со скриптами, которые не для всех покажутся лёгким решением, можно воспользоваться бесплатными онлайн-разделителями CSV.
Одним из таких сервисов является Split CSV. Он работает также, как первые две программы, про которые шла речь выше, с той лишь разницей, что всё действие происходит в Интернете, а не в самом компьютере.
Однако у этой онлайн-программы всё же есть кое-что интересное в арсенале. Если пользователь оплатит абонентскую плату, он получит в дополнение следующие функции:
- Использование настраиваемого разделителя;
- Выбор типа файла на выходе;
- Удаление определённых символов из выходных файлов;
Подводя итог: каковы различные способы разделения файла CSV?
Если у вас есть несколько больших файлов CSV, которые не могут быть открыты или полностью загружены из -за достижения максимального количества столбцов и строк в Microsoft Excel или какого -то просмотра CSV, вам необходимо разделить файл CSV.
Существует много различных программных программ CSV -файлов и онлайн -инструментов, которые можно использовать для разделения файлов.
Таким образом, мы ознакомились с пятью не хитрыми способами, при помощи которых можно легко и просто разделить большой CSV файл, и даже научиться открывать его в Эксель при помощи программы.
Часто Задаваемые Вопросы
- Можно ли использовать скрипт PowerShell для разделения файлов CSV?
- Да, вы можете использовать сценарии PowerShall для разделения файлов. Этот метод будет намного быстрее и удобнее, а также лучше подходит для современных сборков.