Как разбить огромную электронную таблицу в формате CSV Excel на отдельные файлы

Excel отлично справляется со многими повседневными задачами. Но время от времени вы сталкиваетесь с одним из его недостатков: размером с электронную таблицу. Если вам нужно знать, как уменьшить электронную таблицу Excel или разделить большой CSV, мы вам поможем.

Достижение предела количества строк в электронной таблице само по себе является довольно серьезной задачей. Текущий предел строки таблицы Excel составляет 1 048 576. Это верно — более 1 миллиона строк и столько же столбцов.

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

содержащие миллионы адресов электронной почты. Единственная проблема в том, как вы на самом деле управляете электронной таблицей с таким количеством адресов? Кроме того, что если кто-то отправит вам CSV, который уже превысил лимит (из другой программы)?

Что ж, я покажу вам, как разбить этот огромный CSV на легко управляемые куски.

(У вас нет большого CSV под рукой? Есть несколько довольно больших наборов данных CSV

на data.gov. Я собираюсь использовать список сравнения больниц из 260 000 строк, чтобы вы могли использовать тот же файл.)

1. Используйте программу

Существует множество полезных программ для разветвления CSV. Я покажу вам два лучших.

CSV Chunker

CSV Chunker — это разветвитель CSV с открытым исходным кодом. Он может обрабатывать большие файлы, быстро разбивая их на куски по вашему выбору. Потребовалось около 3 секунд, чтобы разделить наш CSV для больниц сравнения на 106 частей, каждая из которых содержит 2500 строк.

Как разбить огромную электронную таблицу CSV Excel на отдельные файлы CSV Chunker до и после

CSV Splitter

CSV Splitter — наш второй инструмент. Он предлагает почти такую ​​же функциональность CSV Chunker, хотя и с немного более гладким дизайном. CSV Splitter потребовалось около 4 секунд, чтобы разделить наш CSV для больниц сравнения на 106, снова содержащий 2500 строк в каждом.

Как разбить огромную электронную таблицу CSV Excel на отдельные файлы csv splitter до и после

2. Используйте пакетный файл

Далее, программируемый пакетный файл

, Мы можем использовать пакетный файл для обработки CSV на более мелкие порции, настраивая файл для доставки разных порций.

Откройте новый текстовый документ. Скопируйте и вставьте следующее:

@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 =» это новая схема именования для ваших разделенных файлов

После того, как вы ввели свои переменные, отправляйтесь в Файл> Сохранить как. Выберите имя файла и выберите Сохранить. Затем выберите только что сохраненный текстовый файл и нажмите F2 переименовать его. Замените расширение TXT на BAT и нажмите Хорошо когда появится предупреждение. Теперь вы можете разделить свой большой CSV!

Я предупреждаю вас, хотя, этот метод занимает некоторое время. Вам, вероятно, лучше использовать один из вышеупомянутых сплиттеров.

Оригинальный сценарий и тему можно найти здесь.

3. Используйте скрипт PowerShell

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

Следующий скрипт быстро разрезает ваш большой CSV на более мелкие файлы. Опять же, я использовал для сравнения CSV для больниц. Выполнение команды заняло около 3 секунд. Откройте Windows PowerShell ISE. Если вы не знаете, как это сделать, введите PowerShell ИСЕ в поиске меню Пуск и выберите соответствующую опцию. Когда PowerShell ISE открыт, выберите Показать скрипт стрелка, расположенная в верхнем правом углу (выделена красным на изображении ниже).

Как разбить огромную электронную таблицу в формате CSV Excel на отдельные файлы

Скопируйте и вставьте следующую команду в панель сценариев в верхней части экрана.

$i=0; Get-Content C:\Users\Gavin\Downloads\Hospital_Revised_Flatfiles\HCAHPSHospital.csv -ReadCount 2500 | %{$i++; $_ | Out-File C:\Users\Gavin\Downloads\Hospital_Revised_Flatfiles\split\splitfile_$i.csv}

Во-первых, вам нужно изменить местоположение вашего входного файла. Во-вторых, вам нужно указать, сколько строк должны содержать ваши выходные файлы. Наконец, укажите местоположение выходного файла. Я оставил там свои пути к файлам, чтобы проиллюстрировать ситуацию. Кроме того, ваше выходное имя файла должен иметь суффикс «_ $ i.csv» соответствует моему. В противном случае ваши выходные файлы не будут правильно пронумерованы.

Когда вы отредактировали файл со своими собственными данными, нажмите CTRL + S сохранить свой сценарий.

Оригинальный сценарий можно найти здесь.

4. Загрузите его в модель данных

Наше окончательное решение фактически не разбивает большой CSV на более мелкие части. Видите ли, Хосе Баррето, член команды OneDrive, недавно проиллюстрировал, как именно вы можете загрузить большой файл CSV в Excel. В этом случае большое значение превышает предел строки в 1 048 567 строк. В руководстве он объясняет, что вместо фактической загрузки файла Excel 2016 может создать ссылку на данные для файла CSV.

Как разбить огромную электронную таблицу Excel CSV на отдельные файлы Строки CVS в сводной таблице модели данных Excel

Данные из исходного CSV будут доступны пользователю в рамках модели данных. Баррето создал сводную таблицу, используя «до 8,5 миллионов строк без каких-либо проблем». Приведенное выше изображение взято из сообщения в блоге Баррето (см. Ссылку ниже), отображающего в Excel в общей сложности 2 миллиона строк. (Узнайте, как использовать сводную таблицу для анализа данных

.)

Если это решение подходит вам, следуйте подробному руководству Хосе Баррето прямо здесь. Помните, что это не разбивает CSV, но это означает, что вы можете управлять своими данными в определенных инструментах Excel

, Если вы обращаетесь к вашим данным для непосредственного взаимодействия с ними, стоит попробовать.

Сломай!

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

Из четырех решений пакетный файл, вероятно, самый медленный

, Сценарий PowerShell является быстрым и легко настраиваемым, а два приложения просты в использовании из коробки. Наконец, у вас есть возможность напрямую импортировать ваши данные в Excel миллионами строк.

Какой метод вы выберете? И есть ли у вас другие советы? Пожалуйста, поделитесь с нами в комментариях!

Кредит изображения: lucadp / Depositphotos

Ссылка на основную публикацию
Adblock
detector