Если файл сохранён на диске, можно так:
1. Открываете книгу с данными на нужном листе
2. Заходите в VBA (Alt+F11)
3. Выбираете в меню Insert -> Module
4. Вставляете нижеприведённый код
5. Нажимаете F5 (не сохраняете исходный файл)
Option Explicit ' Обязательное объявление переменных
Option Base 1 ' Нижняя граница массива (по умолчанию)
'123456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
Sub Border_Limit()
Dim Limit As Integer, Count As Integer, SaveDir As String, SetTitle As Boolean
Count = 1: Limit = 1000 ' Счётчик файлов; Количество строк
SetTitle = False ' Если есть заголовок, заменить False на True
SaveDir = ThisWorkbook.Path ' Или вписать полный путь для сохранения "C:"
' Предполагается, что в колонке A нет пустых ячеек
While Not IsEmpty(Cells(IIf(SetTitle, 2, 1), 1))
Rows("1:" & Limit).Copy
Workbooks.Add xlWBATWorksheet ' Создать новую книгу: шаблон с 1 листом
ActiveSheet.Paste: Cells(1, 1).Select
ActiveWorkbook.SaveAs Filename:=SaveDir & "Массив_" & Count & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
ActiveWindow.Close
Rows(IIf(SetTitle, 2, 1) & ":" & Limit).Delete Shift:=xlUp
Count = Count + 1
Wend: MsgBox "Файл разбит на " & Count - 1 & " файл(ов). "
End Sub
Никакие C++ запускать не надо.
Для пытливых умов: Отказ от Слияния в пользу шаблонов https://toster.ru/q/320942
I have a large excel file with about 3000 rows.
I would like to split this data into groups of 100 rows
Is there a command in excel that can help me split this data into different
sheets or files for every 100th row?
asked Mar 7, 2014 at 9:19
Victor NjorogeVictor Njoroge
3532 gold badges9 silver badges22 bronze badges
2
Nice solution in this answer to another question on similar problem: https://stackoverflow.com/a/18001183
However, I needed to split the file without adding headers to each new file, just the data rows. My modified / simplified code:
Sub Test()
Dim wb As Workbook
Dim ThisSheet As Worksheet
Dim NumOfColumns As Integer
Dim RangeToCopy As Range
Dim WorkbookCounter As Integer
Dim RowsInFile
Dim Prefix As String
Application.ScreenUpdating = False
'Initialize data
Set ThisSheet = ThisWorkbook.ActiveSheet
NumOfColumns = ThisSheet.UsedRange.Columns.Count
WorkbookCounter = 1
RowsInFile = 100 'how many rows (incl. header) in new files?
Prefix = "test" 'prefix of the file name
For p = 1 To ThisSheet.UsedRange.Rows.Count Step RowsInFile
Set wb = Workbooks.Add
'Paste the chunk of rows for this file
Set RangeToCopy = ThisSheet.Range(ThisSheet.Cells(p, 1), ThisSheet.Cells(p + RowsInFile - 1, NumOfColumns))
RangeToCopy.Copy wb.Sheets(1).Range("A1")
'Save the new workbook, and close it
wb.SaveAs ThisWorkbook.Path & "" & Prefix & "_" & WorkbookCounter
wb.Close
'Increment file counter
WorkbookCounter = WorkbookCounter + 1
Next p
Application.ScreenUpdating = True
Set wb = Nothing
End Sub
answered Nov 7, 2017 at 10:41
0
You can do it this way with a helper column:
1st — insert a column at the left (i.e column A).
2nd — fill down the new column in a series from 1 to 3000 (or however many rows you have).
3rd — in the two cells below the end of the series of column A, put in 100.5 and 200.5. Highlight these cells, then use Ctrl + Shift + Down Arrow and choose Fill Series (leaving the Step Value at 100)
4th — Ascending Sort Column A.
5th — Delete Column A. You’ll have a blank row every 100 rows, with whatever else left over.
answered Mar 7, 2014 at 9:47
EndlessLoopEndlessLoop
4241 gold badge6 silver badges15 bronze badges
I found this VBA-based solution: http://nationbuilder.com/how_can_i_split_files_too_big_to_import
However, that solution lacks the ability decide how many rows every file has. Rather it is splitting the file in to X number of files with equal amount of rows. Of course you can just calculate this by dividing the total number of rows with the number of rows you want to have in each file but that rarely gives you exactly the number of rows you want due to rounding.
Maybe someone could come up with a modified macro?
answered Jun 4, 2015 at 11:42
2
Microsoft Excel отлично справляется со многими повседневными задачами. Но время от времени вы сталкиваетесь с одним из его недостатков: размером с электронную таблицу. Прочтите, чтобы узнать, как уменьшить размер таблицы Excel или разделить большой файл CSV на несколько файлов.
Вы можете подумать: «Зачем мне нужно разбивать большой файл Excel на несколько файлов меньшего размера?» Это интересный вопрос, особенно с учетом того, что в Excel есть ограничение на количество строк в таблице 1048576.
Более 1 миллиона строк звучат феноменально. Однако достичь лимита строк проще, чем вы думаете, особенно при выполнении определенных задач.
Например, если вы продаете по электронной почте, вы можете импортировать файл CSV, содержащий миллионы адресов электронной почты. Единственная проблема в том, как управлять таблицей с таким количеством адресов? Кроме того, что, если кто-то отправит вам CSV, который уже превышает лимит (из другой программы)?
Если это похоже на проблему, с которой вы, вероятно, столкнетесь, попробуйте следующие пять способов разделить большой файл CSV или Excel на несколько файлов меньшего размера.
У вас нет под рукой большого CSV-файла, но вы хотите поиграть дома? В примерах я использую набор данных открытого исследования COVID-19 , который вы тоже можете скачать и использовать.
1. Разбейте файлы CSV с помощью программы
Есть несколько полезных программ-разделителей CSV. Вот двое из лучших. Однако справедливое предупреждение: поскольку эти программы работают, они иногда сталкиваются с проблемами памяти, что является общей проблемой для программ, разделяющих CSV.
Бесплатный Огромный Сплиттер CSV
Free Huge CSV Splitter – это базовый инструмент для разделения CSV. Вы вводите CSV-файл, который хотите разделить, количество строк, которое хотите использовать, а затем выбираете « Разделить файл» . Количество строк определяет количество выходных файлов, которые у вас останутся.
Сплиттер CSV
CSV Splitter – второй инструмент. Он предлагает почти ту же функциональность, что и Free Huge CSV Splitter, хотя и с немного более гладким дизайном. Он быстро разбивает ваш CSV-файл на небольшие части, что позволяет вам определить количество строк, которое вы хотите использовать.
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 для разделения файла CSV.
Вы можете использовать командные файлы для широкого круга повседневных задач . Но сценарии PowerShell быстрее, особенно для этого типа обработки и разделения.
Следующий сценарий быстро разрезает ваш большой CSV на файлы меньшего размера.
Сначала нажмите CTRL + X, чтобы открыть меню Windows Power, затем выберите PowerShell . Если PowerShell не подходит, введите powershell в строке поиска меню «Пуск» и выберите «Лучшее совпадение».
Теперь скопируйте и вставьте следующий скрипт:
$InputFilename = Get-Content 'C:filelocation'
$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++
}
Замените местоположение файла в первой строке своим CSV-файлом, затем запустите сценарий. Скрипт выводит файлы CSV меньшего размера в каталог пользователя. Например, мои файлы CSV находятся в папке C: Users Gavin с именем файла output_done_1.csv . Вы можете изменить имя вывода, изменив строку $ OutputFilenamePattern = ‘output_done_’ .
Вы можете найти исходный сценарий на SPJeff .
4. Разбейте большой CSV-файл с помощью Power Pivot
Ваше предпоследнее решение разбить большой CSV-файл на мелкие части на самом деле не разбивает его. Скорее, он позволяет вам загрузить большой CSV-файл в Excel и использовать инструмент Power Pivot, чтобы открыть его. Вот так; вы можете эффективно игнорировать ограничение строки Excel и управлять файлом в программе.
Для этого нужно создать ссылку на данные в CSV-файл, а затем использовать Power Pivot для управления содержимым. Полное объяснение и руководство можно найти в блоге Хосе Баррето, в котором подробно описан процесс.
Короче говоря, Баррето создает сводную таблицу, используя «до 8,5 миллионов строк без каких-либо проблем». Приведенное выше изображение взято из сообщения в блоге, на котором в Excel показано всего 2 миллиона строк.
Помните, что этот процесс не разбивает CSV на небольшие части. Однако это означает, что вы можете управлять CSV в Excel, что является очень удобной альтернативой. Если вам нужны дополнительные советы, узнайте, как использовать сводную таблицу для анализа данных .
5. Разбейте большой файл CSV в Интернете с помощью разделенного CSV
Существуют также онлайн-сервисы, которые разбивают ваш большой CSV-файл на более мелкие части. Одним из таких вариантов является Split CSV , бесплатный онлайн-разделитель CSV.
Split CSV отлично справился с набором данных COVID-19, разбив его на удобные фрагменты. Как и в случае с другими инструментами, вы определяете количество строк для каждого файла и позволяете ему разделять его. Однако у меня не было большого CSV-файла для тестирования, поэтому ваш опыт может отличаться.
Разделенный CSV также включает дополнительные опции. За абонентскую плату вы можете использовать настраиваемый разделитель , выбрать тип выходного файла, удалить определенные символы из выходных файлов и удалить повторяющиеся строки.
Разбейте файлы CSV на легко управляемые блоки
Теперь у вас есть пять решений для разбиения файлов CSV на небольшие части, что упрощает управление ими. Решения различаются по скорости и размеру файлов CSV, которыми они могут управлять, поэтому вам, возможно, придется поэкспериментировать, чтобы найти решение, которое лучше всего подходит для вас.
Кредит изображения: lucadp / Depositphotos
Подготовить Microsoft Excel Отлично подходит для многих повседневных задач. Но время от времени вы можете столкнуться с одним из его недостатков: размером таблицы. Прочтите, чтобы узнать, как уменьшить размер таблицы Excel или разделить большой CSV-файл на несколько файлов.
Вы можете подумать: «Зачем мне нужно разбивать большой файл Excel на несколько файлов меньшего размера?» Это интересный вопрос, особенно с учетом того, что в Excel есть ограничение на количество строк в электронной таблице, равное 1 048 576.
Более миллиона строк кажутся исключительной ценностью. Однако достичь предела класса проще, чем вы думаете, особенно при выполнении определенных задач.
Например, если вы занимаетесь маркетингом по электронной почте, вы можете импортировать файл CSV, содержащий миллионы адресов электронной почты. Единственная проблема в том, как управлять таблицей с множеством адресов? Кроме того, что, если кто-то отправит вам CSV-файл, в котором уже превышен лимит (из другого приложения)?
Если это похоже на проблему, с которой вы, вероятно, столкнетесь, попробуйте следующие пять способов разделить большой файл CSV или Excel на несколько файлов меньшего размера.
У вас нет под рукой большого CSV-файла, но вы хотите поэкспериментировать дома? Я использую группу Открытое исследование данных о COVID-19 Для этих примеров, которые вы также можете скачать и использовать.
1. Разделите файл CSV с помощью приложения.
Есть много полезных приложений для разделения CSV. Вот два лучших варианта. Справедливое предупреждение, однако, при запуске этих приложений они иногда сталкиваются с проблемами памяти, что является общей проблемой для приложений разделения CSV.
Бесплатный Огромный Сплиттер CSV
Подготовить Бесплатный Огромный Сплиттер CSV Важное приложение для разделения файлов CSV. Вы можете ввести CSV-файл, который хотите разделить, количество строк, которые вы хотите использовать, а затем выбрать Разделить файл. Количество строк определяет, сколько файлов вывода вы получите.
Сплиттер CSV
Сплиттер CSV Это второе приложение. Он предлагает те же функции, что и Free Huge CSV Splitter, хотя и с немного более элегантным дизайном. Он быстро разбивает ваш CSV-файл, позволяя указать количество строк, которые вы хотите обработать.
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, чтобы переименовать его. заменить формат .текст б .bat и нажмите «OkКогда появится предупреждение. Теперь вы можете разделить большой CSV-файл на более мелкие выходные файлы.
3. Используйте сценарий PowerShell для разделения файла CSV.
вы можете использовать Пакетные файлы Для широкого круга повседневных задач. Но сценарии PowerShell быстрее, особенно для такого рода обработки и разделения.
Следующий сценарий быстро разбивает большой CSV-файл на файлы меньшего размера.
Сначала нажмите CTRL + X Чтобы открыть меню быстрого доступа Windows, выберите PowerShell. Если PowerShell не подходит, введите powershell в строке поиска меню «Пуск» и выберите наиболее подходящий вариант.
Теперь скопируйте и вставьте следующий скрипт:
$InputFilename = Get-Content ‘C:filelocation’ $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++ }
Замените местоположение файла в первой строке файлом CSV, затем запустите сценарий. Сценарий выводит файлы CSV меньшего размера в каталог пользователя. Например, мои файлы CSV находятся в C: Users Gavin с именем файла output_done_1.csv. Вы можете изменить имя вывода, изменив строку $ OutputFilenamePattern = ‘output_done_’.
Вы можете найти исходный текст в С.П.Джефф.
4. Разделите большой CSV-файл с помощью Power Pivot.
Предпоследнее решение по разделению большого CSV-файла на мелкие части фактически не разбивает его. Кроме того, он позволяет загрузить огромный файл CSV в Excel и использовать инструмент Power Pivot, чтобы открыть его. верный; Вы можете игнорировать ограничение количества строк в Excel и управлять файлом в приложении.
Вы можете добиться этого, создав ссылку на данные в CSV-файл, а затем используя Power Pivot для управления содержимым. Полное объяснение и руководство см. В статье. Хосе Баррето подробное описание процесса.
Короче говоря, Баррето создает сводную таблицу с «до 8.5 миллионов строк без каких-либо проблем». Изображение выше взято из сообщения в блоге, в котором показано, что в Excel используется всего 2 миллиона строк.
Помните, что этот процесс не разбивает CSV-файл на мелкие части. Однако это означает, что вы можете обрабатывать CSV-файл в Excel, что является очень полезной альтернативой. Если вам нужно больше подсказок, узнайте, как Использование сводной таблицы для анализа данных.
5. Разделите файл CSV в Интернете с помощью разделенного файла CSV.
Существуют также онлайн-сервисы, которые разбивают большой CSV-файл на более мелкие части. Один из этих вариантов — Разделить CSV , который является бесплатным онлайн-распространителем CSV.
Split CSV хорошо управляет набором данных COVID-19, разбивая его на простые в использовании части. Как и в случае с другими инструментами, вы можете ограничить количество строк в файле и разрешить ему разделение. Однако у меня не было большого CSV-файла для тестирования, поэтому ваш опыт может отличаться.
Split CSV также включает платные опции. Для функций, которые вы получаете после оплаты абонентской платы, вы можете использовать настраиваемый разделитель, выбрать выбор типов выходных файлов, удалить определенные символы из выходных файлов и удалить повторяющиеся строки.
Разделите файлы CSV на части, которыми легко манипулировать
Теперь у вас есть пять решений для разделения файлов CSV на небольшие части, что упрощает управление ими. Решения различаются по скорости и размеру файлов CSV, которыми они могут управлять, поэтому вам, возможно, придется поэкспериментировать, чтобы найти наиболее подходящее для вас. Вы также можете узнать о 3 способа разбить ячейку в Microsoft 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 Splitter
CSV Splitter — наш второй инструмент. Он предлагает почти такую же функциональность CSV Chunker, хотя и с немного более гладким дизайном. CSV Splitter потребовалось около 4 секунд, чтобы разделить нашу CSV для больниц сравнения на 106, снова содержащую 2500 строк в каждой.
2. Используйте пакетный файл
Далее, программируемый пакетный файл пакетный файл Мы можем использовать пакетный файл для обработки CSV на более мелкие порции, настраивая файл для доставки разных порций.
Откройте новый текстовый документ. Скопируйте и вставьте следующее:
@ эхо выключено setlocal ENABLEDELAYEDEXPANSION REM Отредактируйте это значение, чтобы изменить имя файла, который нужно разделить. Включите расширение. SET BFN = HCAHPSHospital.csv REM Отредактируйте это значение, чтобы изменить количество строк в файле. SET LPF = 2500 REM Отредактируйте это значение, чтобы изменить имя каждого короткого файла. За ним последует номер, указывающий, где он находится в списке. SET SFN = HosptialSplitFile REM Не меняйте за этой линией. SET SFX =% BFN: ~ -3% SET / A LineNum = 0 SET / A FileNum = 1 Для / F "delims ==" %% l in (% BFN%) Do ( SET / A LineNum + = 1 echo %% l >>% SFN%! FileNum!.% SFX% если! LineNum! EQU! LPF! ( SET / A LineNum = 0 SET / A FileNum + = 1 ) ) Endlocal Пауза
Вам нужно будет настроить пакетный файл перед запуском. Я расскажу вам, что делает каждая команда, и вы можете изменить ее в соответствии с размером вашего пакетного файла, а также с требуемым выводом.
- «SET BFN =» должен указывать на CSV, который нужно разбить
- « SET LPF =» — это количество строк, которое вы хотите ограничить новым файлом
- «SET SFN =» — это новая схема именования ваших разделенных файлов.
После того, как вы ввели свои переменные, перейдите в Файл> Сохранить как. Выберите имя файла и выберите Сохранить. Затем выберите только что сохраненный текстовый файл и нажмите F2, чтобы переименовать его. Замените расширение TXT на BAT и нажмите OK, когда появится предупреждение. Теперь вы можете разделить свой большой CSV!
Я предупреждаю вас, хотя, этот метод занимает некоторое время. Возможно, вам лучше использовать один из вышеупомянутых сплиттеров.
Оригинальный сценарий и тему можно найти здесь .
3. Используйте скрипт PowerShell
Пакетные файлы удобны. Вы можете использовать их для широкого круга повседневных задач. Но сценарии PowerShell в целом быстрее, особенно для этого типа обработки и деления.
Следующий скрипт быстро нарежет ваш большой CSV на более мелкие файлы. Опять же, я использовал CSV для больниц в качестве примера. Выполнение команды заняло около 3 секунд. Откройте Windows PowerShell ISE. Если вы не знаете, как это сделать, введите powershell ise в поиск меню «Пуск» и выберите соответствующий параметр. Когда PowerShell ISE открыт, выберите стрелку « Показать сценарий» , расположенную в верхнем правом углу (выделено красным на изображении ниже).
Скопируйте и вставьте следующую команду в панель сценариев в верхней части экрана.
$ I = 0; Get-Content C: Users Gavin Downloads Hospital_Revised_Flatfiles HCAHPSHospital.csv -ReadCount 2500 | % {$ I ++; $ _ | Исходный файл 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.
Данные из исходного CSV будут доступны пользователю в рамках модели данных. Баррето создал сводную таблицу, используя «до 8,5 миллионов строк без каких-либо проблем». Приведенное выше изображение взято из сообщения в блоге Баррето (см. Ссылку ниже), отображающего в Excel 2 миллиона строк. (Узнайте, как использовать сводную таблицу для анализа данных .)
Если это решение подходит вам, следуйте подробному руководству Хосе Баррето прямо здесь . Помните, что это не разделяет CSV, но это означает, что вы можете манипулировать своими данными в определенных инструментах Excel. Если вы обращаетесь к вашим данным для непосредственного взаимодействия с ними, стоит попробовать.
Сломай!
Мы перечислили четыре решения для разрушения ваших массивных файлов CSV, включая два разных инструмента.
Из четырех решений пакетный файл, вероятно, самый медленный. Скрипт PowerShell быстрый и легко настраиваемый, а два приложения просты в использовании из коробки. Наконец, у вас есть возможность напрямую импортировать ваши данные в Excel миллионами строк.
Чтобы узнать больше об уловках Excel, ознакомьтесь с разделением имен и фамилий в Excel. разделить имена и фамилии в Excel. разделить имена и фамилии
Кредит изображения: lucadp / Depositphotos
Пробуйте. Макрос берет данные из активного листа и сохраняет файлы в папке, где находится активная книга, с именем активной книги с добавлением номера в виде «_000».
Const ROWS_IN_PART = 500 ‘число строк в части файла
Sub николай100()
Dim i&, j&, ws As Worksheet, nm$
Set ws = ActiveSheet
nm = Left(ActiveWorkbook.FullName, InStrRev(ActiveWorkbook.FullName, «.») — 1) & «_»
Application.ScreenUpdating = False
For i = 1 To ActiveSheet.UsedRange.Rows.Count Step ROWS_IN_PART
With Workbooks.Add(xlWBATWorksheet)
Range(ws.Rows(i), ws.Rows(i + ROWS_IN_PART — 1)).Copy ActiveCell
j = j + 1
.Close True, nm & Format(j, «000»)
End With
Next
Application.ScreenUpdating = True
End Sub
Например, у меня есть диапазон списка данных, теперь я хочу разделить его на несколько листов по количеству строк, в этом примере я разделю его на каждые 5 строк (см. Следующие снимки экрана). Есть ли способы помочь нам быстро решить эту проблему? Здесь я расскажу о двух приемах, которые помогут вам легко это сделать.
Разделение данных на несколько листов по количеству строк с кодом VBA
Разделить данные на несколько рабочих листов по количеству строк с помощью Kutools for Excel
Разделение данных на несколько листов по количеству строк с кодом VBA
Следующий код VBA может помочь вам разделить строки на несколько листов по количеству строк, сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.
VBA: разделение данных на листы по количеству строк в Excel.
Sub SplitData()
'Updateby20140617
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
SplitRow = Application.InputBox("Split Row Num", xTitleId, 5, Type:=1)
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (WorkRng.Rows.Count - xRow.Row + 1) < SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1
xRow.Resize(resizeCount).Copy
Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)
Application.ActiveSheet.Range("A1").PasteSpecial
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3, Затем нажмите F5 нажмите клавишу для запуска кода, и появится диалоговое окно для выбора диапазона для разделения, а затем нажмите OK, и еще один диалог, в котором вы можете указать количество строк. Смотрите скриншот:
4. Нажмите OK, а диапазон разбивается на несколько листов по количеству строк.
Внимание: Разделенные листы помещаются в конце главного рабочего листа.
Разделить данные на несколько рабочих листов по количеству строк с помощью Kutools for Excel
Приведенный выше код может разделить данные только по указанному количеству строк, и он не будет добавлять заголовок для каждого рабочего листа, если ваши данные имеют заголовок.
Но с Kutools for ExcelАвтора Разделить данные, вы не только можете вставлять заголовки для данных каждого рабочего листа, но также можете указать имена новых разделенных листов.
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас
Если вы установили Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите диапазон данных, которые вы хотите разделить.
2. Нажмите Предприятие > Инструменты рабочего листа > Разделить данные (или Предприятие > Разделить данные ), см. снимок экрана:
3. В Разделить данные на несколько листов диалоговое окно:
- Выберите Фиксированные строки от Сплит на основе вариант и введите количество строк, которое вы хотите разделить для каждого листа. (Если у ваших данных есть заголовки, и вы хотите вставить их в каждый новый разделенный лист, проверьте У моих данных есть заголовки опция).
- Затем вы можете указать имена разделенных листов под Имя нового листа раздел, выберите правила имен рабочих листов из Правила раскрывающийся список, вы можете добавить Префикс or Суффикс также для имен листов. Смотрите скриншот:
4. После указания параметров нажмите OK, и выбранные данные были разделены на несколько листов новой книги каждые 5 строк. И заголовки вставляются для каждого нового рабочего листа. Смотрите скриншот:
Нажмите, чтобы узнать больше об этой функции разделения данных.
Связанная статья:
Как разбить данные на несколько листов на основе столбца в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!