pandas-shredder

0

Описание

Пакет, предоставляющий интерфейс для нарезки Pandas.DataFrame на отдельные файлы с заданным количеством строк в каждом из них

Языки

  • Python100%
README.md

pandas-shredder

Пакет, предоставляющий интерфейс для нарезки Pandas.DataFrame на отдельные файлы с заданным количеством строк в каждом из них.

Оглавление

Установка

Выполните в терминале команду:

В вашем коде выполните импорт:

Ссылка на пакет

pandas-shredder
в PyPI

Пример использования

Пример использования с пояснениями

Предположим у вас есть файл big_data.csv на 7 000 000 строк, расположенный в C:\Documents.
И у вас существует потребность сделать из него несколько файлов формата xlsx на 500 000 строк каждый.

Shredder поможет Вам реализовать эту задумку в несколько строк кода.

Создайте DataFrame на основе данных из вашего файла C:\Documents\big_data.csv

Импортируйте

Shredder
из пакета
pandas-shredder
и инициализируйте его экзмепляр.

  • directory
    - путь к каталогу, в который будут сохранены выходные файлы.
  • extension
    - расширение / формат выходных файлов. Доступно:
    xlsx
    ,
    csv
    ,
    json
    ,
    html
    ,
    xml
  • lines_per_serving
    - максимальное количество строк в одном выходном файле.

Запустите измельчитель вызовом метода

run()
, передав в него набор данных и имя для выходных файлов.

  • dataframe
    - экземпляр pandas.DataFrame, который нарезается на файлы заданного размера
  • filename
    - имя, для файлов с результатом. К имени каждого файла будет добавлен префикс с номером файла.
  • **kwarg
    - опционально. Произвольные именованные аргументы, которые поддерживаются методами DataFrame:
    to_excel()
    ,
    to_csv()
    ,
    to_html()
    ,
    to_xml()
    ,
    to_json()
    . Набор доступных аргументов зависит от выбранного на этапе инициализации экземпляра
    Shredder
    значения в свойстве
    extension
    .

В результате выполнения кода, в каталоге C:\Documents\result вас будут ожидать файлы:

  • 1_small_data.xlsx
  • 2_small_data.xlsx
  • 3_small_data.xlsx
  • ...

Для сохранения данных в файлы, используются стандартные методы pandas. Вы можете сконфигурировать процесс сохранения через именованные аргументы переданные в

run()
вместо
**kwargs
.
Например:

Возможные именованные аргументы зависят от выбранного в

extension
расширения. Ознакомьтесь с таблицей ниже, что бы узнать больше.

extensionpandas method
csvto_csv()
xlsxto_excel()
htmlto_html()
jsonto_json()
xmlto_xml()

Возможные исключения

UnsupportedFileFormatError

Будет брошено в ситуации, когда указанное в

extension
значение не является одним из:
xlsx
,
csv
,
json
,
html
,
xml

DirectoryDoesNotExistError

Будет брошено в ситуации, когда указанное в

directory
значение не является существующим в системе каталогом (папкой).

NegativeNumberOfRowsError

Будет брошено в ситуации, когда указанное в

lines_per_serving
значение меньше или равно 0.

LineLimitHasBeenExceededError

Будет брошено в ситуации, когда количество строк в

dataframe
меньше значения, заданного в
lines_per_serving
.