Как разделить большой csv файл на части

от admin

Дробление большого CSV файла

Из прошлой статьи про чтение огромадного CSV в C# вытекло целое приложение, предназначенное для распиливания такого файла на более мелкие части, чтобы с ними можно было работать.

Описание

В общем, я написал приложение, которое разделяет исходный невероятных размеров (несколько гигабайт, скажем) CSV файл на множество более мелких, чтобы с ними можно было работать хоть в Блокноте. Если помните, проблема с CSV в несколько гигабайт заключается в том, что для его чтения потребуется также несколько гигабайт оперативной памяти, что пока ещё является некоторой роскошью.

  1. Перетащить исходный CSV файл в область, обозначенную пунктирной линией (либо два раза кликнуть в первое поле ввода и выбрать файл, либо вставить туда путь до файла);
  2. Задать путь, куда будут складываться новые отрезанные CSV файлики (также два раза ткнув во второе поле ввода, либо вставив туда путь). Если поле оставить пустым, то файлы будут складываться в каталог с исходным;
  3. Нажать на кнопку с топором.

По нажатию на F1 появляется окно справки.

Требования

Приложение тестировалось в Windows 8.1 , но должно работать в любой, главное чтобы был установлен .NET Framework 4.5.1 .

Настройки

В .config файле есть некоторые настройки.

linesPerFile

Через сколько строк разрезать. Например, если задать 1000 , то исходный файл будет читаться в буфер до 1000 строки, после чего буфер скинется в новый файл, и с 1001 строки будет заполняться по новой. И так до конца исходного файла.

Если строки достаточно короткие, то можно ставить значение побольше, от 500000 , скажем. Если довольно большие — лучше не ставить больше 100000 .

addHeader

Если поставить True , то в каждый новый файл первой строкой будет писаться первая строка исходного файла. Такое может понадобиться, если исходный файл содержит “шапку”. По умолчанию выставлено именно True .

Загрузить

Для запуска нужна только папка bin\Release , остальное можете удалить. Из самой папки нужны только эти файлы:

  • hugeCSVsplitter.exe
  • hugeCSVsplitter.exe.config
  • Ookii.Dialogs.Wpf.dll

Можете оставлять замечания/предложения на этой странице либо тут в каментах.

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

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

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

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

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

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

(У вас нет большого CSV под рукой? Есть несколько довольно больших наборов данных CSV на data.gov . Я собираюсь использовать список сравнения больниц из 260 000 строк, чтобы вы могли использовать тот же файл.)

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

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

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

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

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

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

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

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

CSV Splitter для Windows

CSV Splitter скриншот № 1

CSV Splitter — это простой и удобный в использовании инструмент для ваших файлов таблиц CSV Excel. Он поможет вам без особых усилий разделить один файл CSV на несколько файлов в указанном вами месте. Вы можете разделить как маленькие файлы, так и большие файлы размером более 1 гигабайта.

Файлы CSV с большим размером могут стать проблемой при попытке загрузить их в базы данных или на онлайн-серверы. Вы можете использовать этот инструмент для разделения любого CSV-файла по количеству строк. Выберите файл с разделенными запятыми значениями (CSV) и выходную папку, затем приложение сделает все остальное.

Существует множество веб-сайтов, которые могут разделять CSV-файлы. Однако они имеют ограничения на загрузку. Самое лучшее в этой программе — это то, что преобразование происходит полностью в автономном режиме. Приложение поможет вам сэкономить время и энергию, когда вы пытаетесь поделиться огромными CSV-файлами в Интернете или вам нужно загрузить их на сервер. Вы можете начать разбиение исходного документа в течение нескольких секунд. Эта программа также может показать, сколько файлов будет создано путем подсчета строк ввода, в зависимости от заданного количества строк в файле.

Пользоваться программой очень просто. Нажмите кнопку "Select CSV File" и выберите ваш CSV-файл. Затем нажмите кнопку "Select Output Folder" и найдите любой каталог для сохранения новых файлов. Наконец, нажмите кнопку "Split CSV Into Multiple Files", и программа сделает все остальное.

Ключевые функции CSV Splitter:

  • Поддержка кодировок ANSI, UTF-8, UTF-16 (Unicode).
  • Поддержка Drag and drop.
  • Опция "Количество строк в пакете".
  • Опция "Считать строки ввода".
  • Поддержка больших файлов (миллионы строк).
  • Наличие опции "Включать заголовок в каждый новый пакет".
  • Наличие опции "Сохранять исходное имя файла".

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

Free MP3 Cutter Joiner — удобный инструмент для быстрого объединения нескольких аудиофайлов в один проект или вырезки из них нужных фрагментов.

KFK — достаточно полезная утилита, которая поможет разбить файлы на более мелкие части.

HJSplit — небольшая и простая в использовании кроссплатформенная утилита для разрезки и склеивания больших файлов.

Splitter — небольшая бесплатная утилита, которая поможет разделить любой файл на неограниченное количество равных по размеру фрагментов.

File Spliter — очень простая утилита для разбивки любых типов файлов на несколько частей.

Отзывы о программе CSV Splitter

Отзывов о программе CSV Splitter 1.8 пока нет, можете добавить.

Разделение файлов (csv, txt . )

Иногда после парсинга или перед ним нужно исходный файл разбить на части. Можно все это конечно и ручками поделать, но если файл большой, то лучше использовать специальную программу. Называется она CSVSplitter. Она очень проста, но отлично справляется со своей задачей. Для разбивки нужно:

  1. Выбрать файл — Filename
  2. Если Ваш файл содержит заголовки в первой строке, то отмечаем First row contains column header
  3. Если нужно добавлять эти заголовки во все файлы, то отмечаем Include header in each new package
  4. Выбираем по сколько строк будет в файлах — Number of rows per package
  5. Запускаем — Execute

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

Похожие статьи