Как разбить большой файл 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 для разделения файлов. Этот метод будет намного быстрее и удобнее, а также лучше подходит для современных сборков.




Комментарии (0)

Оставить комментарий