Сравнение популярных cli-библиотек для python: click, cement, fire и другие

Emot

Эта библиотека может повысить качество вашего проекта по обработке естественного языка. Она преобразует эмотиконы в их описание. Представьте, например, что кто-то оставил в Твиттере сообщение “I ​️​️ Python”. Человек не написал слово “люблю”, вместо него вставив эмодзи. Если твит задействован в проекте, придётся удалить эмодзи, а значит, потерять часть информации.

Вот здесь и пригодится пакет emot, преобразующий эмодзи в слова. Для тех, кто не совсем понял, о чём речь, эмотиконы — это способ выражения через символы. Например, 🙂 означает улыбку, а 🙁 выражает грусть. Как же работать с библиотекой?

Чтобы установить Emot, выполните команду pip install emot, а затем командой import emot импортируйте её в свой блокнот. Нужно решить, с чем вы хотите работать, то есть с эмотиконами или с эмодзи. В случае эмодзи код будет таким: emot.emoji(your_text). Посмотрим на emot в деле. 

Выше видно предложение I ​️ ​️​️ Python, обёрнутое в метод Emot, чтобы разобраться со значениями. Код выводит словарь со значением, описанием и расположением символов. Как всегда, из словаря можно получить слайс и сосредоточиться на необходимой информации, например, если я напишу ans, вернётся только описание эмодзи.

Манипуляции с изображениями и видео

Python это очень мощный язык; с его помощью
можно решать многие задачи, например,
работать с изображениями. Стандартная
библиотека не имеет встроенного
функционала для этих целей, но следующие
модули вам помогут.

Python Imaging Library (PIL). PIL добавляет в интерпретатор Python возможность обработки изображений. Эта библиотека поддерживает много форматов файлов и предоставляет хороший функционал для работы с графикой.

Gdmodule. Это интерфейс для библиотеки GD, созданной Томасом Баутелом.

VideoCapture. Win32-расширение для доступа к таким видеоустройствам, как веб-камеры (USB) и ТВ-карты.

MoviePy. Библиотека Python для редактирования видео: обрезка, склейка, вставка надписей, нелинейное редактирование, обработка видео и создание пользовательских эффектов.

pyscreenshot. Кроссплатформенный модуль, позволяющий делать скриншоты без установки сторонних библиотек.

HiPlot

Nearly every data scientist has worked with high dimensional data at some point during their career. Unfortunately, human brains are not adequately wired for dealing with this kind of data intuitively, so we must resort to other techniques.

Early this year, Facebook released HiPlot, a library that helps discover correlations and patterns in high-dimensional data using parallel plots and other graphical ways to represent information. The concept is explained in their launch blog post, but it’s basically a nice and convenient way of visualizing and filtering high dimensional data.

HiPlot is interactive, extensible, and you can use it from your standard Jupyter Notebooks or via it’s own server.

To wrap it up…

It is advantageous and disadvantageous to use Python to plot graphs due to the simple reason that Python offers a wide variety of options. The choice of the best library entirely depends on the type of task you are trying to accomplish. Kindly note, no library is superior to the other, and the usage of each library depends on the user’s need.

Matplotlib however serves as the core of all these libraries and allows coders to wrap tools over it. Seaborn, making use of matplotlib, plots complex and interactive visualizations. Bokeh on the other hand helps create your own server for visualizations. Use these libraries and let us know what you feel in the comment section below.

Установка модуля клавиатуры

Если вы используете Linnux, чтобы использовать эту библиотеку, вы должны установить ее от root. Если вы этого не сделаете, вы получите:

Кроме того, при запуске сценария вы должны запускать его с правами суперпользователя:

В Windows и macOS, поскольку привилегии работают совсем по-другому — вы можете установить его просто через pip и запустить сценарии:

Примечание: Для MacOS вам, возможно, придется разрешить терминалу или другим приложениям изменять состояние вашей машины, например, путем ввода текста. Также имейте в виду, что по состоянию на сентябрь 2021 года библиотека все еще находится в экспериментальном состоянии на MacOS.

16.10 Добавление вашего программного обеспечения в Python Package Index

Загрузка программного обеспечения в Python Package Index состоит из трех этапов.

  1. зарегистрируетесь сами;
  2. зарегистрируйте свое программное обеспечение;
  3. загрузите пакеты, которые вы создали с помощью и .

Чтобы зарегистрироваться, перейдите на страницу регистрации пользователя PyPI. Введите имя пользователя и пароль, укажите действующий адрес электронной почты и нажмите кнопку «Create account». (Если у вас есть ключ PGP или GPG, можете также предоставить его. Если у вас его нет или вы не знаете, что это такое, то не беспокойтесь об этом.) Проверьте свою электронную почту; в течение нескольких минут вы получите сообщение от PyPI со ссылкой для проверки. Нажмите на ссылку, чтобы завершить процесс регистрации.

Теперь вам нужно зарегистрировать свое программное обеспечение в PyPI и загрузить его. Вы можете сделать всё это за один шаг.

  1. Строка 1. Когда вы публикуете свой проект впервые, Distutils добавит ваше программное обеспечение в Python Package Index и присвоит ему собственный URL. Каждый раз после этого он будет просто обновлять метаданные проекта с любыми изменениями, которые вы могли внести в параметры setup.py. Затем он создает дистрибутив исходного кода () и установщик Windows (), а затем загружает их в PyPI ().
  2. Строка 8. Введите 1 или просто нажмите ENTER, чтобы выбрать «использовать существующий логин».
  3. Строка 9. Введите имя пользователя и пароль, которые вы выбрали на странице регистрации пользователя PyPI. Distuils не будет выводить ваш пароль; он даже не будет отражать звездочки вместо символов. Просто введите свой пароль и нажмите клавишу ENTER.
  4. Строка 11. Distutils регистрирует ваш пакет в Python Package Index…
  5. Строка 13. … собирает ваш дистрибутив исходного кода…
  6. Строка 15. … собирает ваш установщик Windows…
  7. Строка 17. … и загружает их обоих в Python Package Index.
  8. Строка 24. Если вы хотите автоматизировать процесс релиза новых версий, то вам нужно сохранить свои учетные данные PyPI в локальном файле. Это совершенно небезопасно и совершенно необязательно.

Поздравляем, теперь у вас есть собственная страница в Python Package Index! Ее адрес: http://pypi.python.org/pypi/NAME, где NAME – это строка, которую вы передали в параметре в файле setup.py.

Если вы хотите выпустить новую версию, просто обновите в вашем файле setup.py номер версии, а затем снова выполните ту же команду загрузки:

Plotly

Python библиотека Plotly упрощает создание интерактивных графиков типографского качества. Он также может создавать диаграммы, аналогичные Matplotlib и seaborn, такие как линейные графики, точечные диаграммы, диаграммы с областями, столбчатые диаграммы и т. д.

Плюсы

  1. Похож на R

Если вы поклонник графиков в R и вам не хватает его функционала при переходе на Python, Plotly даст вам такое же качество графиков с использованием Python!

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

2. Простота создания интерактивных графиков

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

Помните столбчатую диаграмму, которую мы показывали ранее в matplotlib? Давайте посмотрим, как она получится с помощью Plotly

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

3. Легко делать сложные графики

С помощью Plotly достаточно легко создавать сложные графики.

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

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

Графический интерфейс

В стандартной библиотеке Python есть
графическая библиотека интерфейсов
Tkinter. Но при помощи внешних модулей вы
можете поднять GUI ваших приложений на
новый уровень.

wxPython. Создает по-настоящему нативные пользовательские интерфейсы для Python-приложений, которые могут запускаться на Windows, Mac и Linux, а также прочих Unix-подобных системах практически без каких-либо модификаций.

PyGObject. Пакет Python, предоставляющий привязки для библиотек на базе Gobject, таких как GTK, GStreamer, WebKitGTK, GLib, GIO и др.

Pmw. Набор инструментов для создания на Python высокоуровневых составных виджетов (с использованием модуля Tkinter).

WCK. Расширение API, позволяющее реализовывать на чистом Python всевозможные пользовательские виджеты.

Tix. Мощный набор компонентов пользовательского интерфейса, при помощи которого можно расширить возможности ваших Tcl/Tk и Python-приложений. Использование Tix вместе с Tk очень улучшает внешний вид и функционал приложений.

Conclusions

There are many Python libraries to choose from. It is the same as walking into a store that offers a vast selection of treats. How to decide which sweet treat, or in this case, library, you want? Well, different libraries provide modules for separate tasks. Therefore, you need to decide what type of modules you need for your code. Now, let’s briefly sum up this article for you:

  1. For API creation, developers choose from libraries for Python like Flask, Django, Eve, Falcon.
  2. For artificial intelligence and deep learning purposes, the best choices include these libraries: TensorFlow, PyTorch, Theano, Keras, Sklearn.
  3. The two top Python libraries are PyTorch and TensorFlow. They provide modules for machine learning, deep learning, and neural network management. They both lure programmers with similar treats, but there are some differences you need to consider. One of the most defining differences is that PyTorch allows developers to create dynamic graphs. TensorFlow graph-creation process is static and requires knowledge about more concepts.
  4. NumPy is another free Python library, providing high-level mathematical functions for the management of multi-dimensional arrays.
  5. Sklearn is yet another free Python library, closely-related to procedures of machine learning. It consists of algorithms such as support vector machines, gradient boosting, k-means, random forests, and DBSCAN.

Hydra and OmegaConf

When doing research and experimentation on machine learning projects, there’s always a myriad of settings to try out. In non-trivial applications, configuration management can become rather complicated, pretty fast. Wouldn’t it be nice to have a structured way of dealing with this complexity?

Hydra is a tool that allows you to build configurations in a composable manner, and override certain parts from the command line or config files.

To illustrate some of the common tasks that can be simplified with the library, let’s say there’s a base architecture of a model we’re experimenting on, and multiple variations of it. With Hydra, a base configuration can be defined, and then multiple jobs be run with variations of them:

Hydra’s cousin, OmegaConf, provides a consistent API for the base of the hierarchical configuration system, supporting different sources like YAML, config files, objects and CLI arguments.

A must for doing configuration management in the 21st century!

USB и последовательные порты

Знаете ли вы, что при помощи Python можно
получить доступ к USB и последовательным
портам компьютера? Если вам нужно решить
подобную задачу, следующие модули
помогут вам в этом.

PyUSB. Это простой в использовании модуль для доступа к USB-устройствам. PyUSB опирается на нативную системную библиотеку для USB-доступа. Работает «из коробки» с libusb 0.1, libusb 1.0, libusbx, libusb-win32 и OpenUSB, а также с Python в любой версии, начиная с 2.4 (и включая Python 3).

PySerial. Библиотека Python для доступа к последовательным портам.

USPP. Мультиплатформенный модуль Python для доступа к последовательным портам.

Mastering GUI Programming with Python

Скачать

Алан Мур — аналитик данных и разработчик ПО, работающий на Python с 2006 года. Свои приложения он создает при помощи Django, Flask, Qt и Tkinter. Помимо этой книги, он написал также «Python GUI Programming with Tkinter».

Многие Python-разработчики стремятся изучить инструменты, которые позволят им создавать приложения с графическими интерфейсами. Чаще всего этим разработчикам рекомендуют набор инструментов PyQt.

Но по PyQt просто удивительно мало обучающих ресурсов. Людям приходится пользоваться устаревшими книгами, документацией C++, искать информацию в блогах и постах на Stack Overflow. Эта книга призвана восполнить пробел и послужить современным пособием по PyQt для Python-разработчиков.

В своей первой книге — «Python GUI Programming with Tkinter» — Алан Мур разбирал основы создания графических интерфейсов. В этой же он решил сосредоточиться на тех уникальных возможностях, которые предоставляет именно PyQt: мультимедиа, анимация, 3D-графика, сети, многопоточность.

Эта книга предназначена для питонистов среднего уровня, желающих изучить фреймворк PyQt и научиться создавать мощные GUI-приложения. Читатель должен знать основы Python, его функционал и идиомы, а также инструментарий стандартной библиотеки. Предварительные знания по созданию именно графических интерфейсов не требуются.

Создание документов HTML и XML

Используя модуль etree, мы можем создавать элементы XML и HTML и их подэлементы, что очень полезно, если мы пытаемся писать или манипулировать файлом. Попробуем создать базовую структуру HTML-файла с помощью etree:

root = et.Element('html', version="5.0")

# Pass the parent node, name of the child node,
# and any number of optional attributes
et.SubElement(root, 'head')
et.SubElement(root, 'title', bgcolor="red", fontsize='22')
et.SubElement(root, 'body', fontsize="15")

В приведенном выше коде вам необходимо знать, что для функции Element требуется как минимум один параметр, а для функции SubElement требуется как минимум два. Это связано с тем, что функция Element «требует» только имя создаваемого элемента, тогда как функция SubElement требует создания имени как корневого узла, так и дочернего узла.

Также важно знать, что обе эти функции имеют только нижнюю границу количества аргументов, которые они могут принимать, но не имеют верхней границы, потому что вы можете связать с ними столько атрибутов, сколько захотите. Чтобы добавить атрибут к элементу, просто добавьте дополнительный параметр к функции (Sub) Element и укажите свой атрибут в форме attributeName = ‘attribute value’.. Давайте попробуем запустить код, который мы написали выше, чтобы лучше понять эти функции:

Давайте попробуем запустить код, который мы написали выше, чтобы лучше понять эти функции:

# Use pretty_print=True to indent the HTML output
print (et.tostring(root, pretty_print=True).decode("utf-8"))

Вывод:

<html version="5.0">
  <head/>
  <title bgcolor="red" fontsize="22"/>
  <body fontsize="15"/>
</html>

Есть еще один способ создания и организации ваших элементов в иерархическом порядке. Давайте также исследуем это:

root = et.Element('html')
root.append(et.SubElement('head')) 
root.append(et.SubElement('body'))

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

Pyglet / related

  • pyglet is a cross-platform windowing and multimedia library for Python.

    pyglet provides an object-oriented programming interface for developing games and other visually-rich applications for Windows, Mac OS X and Linux using for rendering OpenGL. Some of the features of pyglet are:

    For most application and game requirements, pyglet needs nothing else besides Python, simplifying distribution and installation. Requires ctypes, and Opengl. Uses PIL, and AVBin for most format loading. Take advantage of multiple windows and multi-monitor desktops. pyglet allows you to use as many windows as you need, and is fully aware of multi-monitor setups for use with fullscreen games. Load images, sound, music and video in almost any format. pyglet can optionally use AVbin to play back audio formats such as MP3, OGG/Vorbis and WMA, and video formats such as DivX, MPEG-2, H.264, WMV and Xvid.

http://arcade.academy

Arcade is an easy-to-learn Python library for creating 2D video games. It is ideal for people learning to program, or developers that want to code a 2D game without learning a complex framework. It is built on top of Pyglet and OpenGL.

http://cocos2d.org/

cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet, and written in pure python, so it is cross-platform (but requires a decent/fast OpenGL platform). It provides scene flow control, sprites and actions, special effects and transitions.

https://github.com/tartley/gloopy

Gloopy is a simple OpenGL render loop, in pure Python, based on pyglet. It also uses PyOpenGL bindings. It is at an early stage of development and is hardly documented, although there are a couple of example demo scripts. It provides utility functions and classes for populating a 3D world with items which are rendered as VBOs. There are utilities for moving a camera around in the world, and also facilities to programmatically create and manipulate simple polyhedra, and then convert the resulting shapes into VBOs for rendering.

Editorial Notes

Please avoid listing modules where…

  • You are one of the developers (and you just want to promote your work somewhere).
  • The modules in question do not have widespread approval or usage.

If you do want to make people aware of a module, package or library (perhaps your own), consider submitting it to one or more of the directories mentioned in PublishingPythonModules, perhaps also adding it to the topic-specific part of this site (eg. WebProgramming, GuiProgramming).

Do list modules that:

Get recommended often in the Tutor or comp.lang.python lists

Please provide a short description for each module. Try to put each module in the category that matches its «main» audience, since a module might fall into a number of categories.

Dabl

Позвольте мне рассказать об основах. Dabl создан, чтобы упростить работу с моделями ML для новичков. Чтобы установить её, выполните pip install dabl, импортируйте пакет командой import dabl — и можно начинать. Выполните также строчку dabl.clean(data), чтобы получить информацию о признаках, например о том, есть ли какие-то бесполезные признаки. Она также показывает непрерывные, категориальные признаки и признаки с высокой кардинальностью.

Чтобы визуализировать конкретный признак, можно выполнить dabl.plot(data).

Наконец, одной строчкой кода вы можете создать несколько моделей вот так: dabl.AnyClassifier, или так: dabl.Simplefier(), как это делается в scikit-learn. Но на этом шаге придётся предпринять некоторые обычные шаги, такие как создание тренировочного и тестового набора данных, вызов, обучение модели и вывод её прогноза.

Как видите, Dabl итеративно проходит через множество моделей, включая Dummy Classifier (фиктивный классификатор), GaussianNB (гауссовский наивный Байес), деревья решений различной глубины и логистическую регрессию. В конце библиотека показывает лучшую модель. Все модели отрабатывают примерно за 10 секунд. Круто, правда? Я решил протестировать последнюю модель при помощи scikit-learn, чтобы больше доверять результату:

Я получил точность 0,968 с обычным подходом к прогнозированию и 0,971 — с помощью Dabl

Для меня это достаточно близко! Обратите внимание, что я не импортировал модель логистической регрессии из scikit-learn, поскольку это уже сделано через PyForest. Должен признаться, что предпочитаю LazyPredict, но Dabl стоит попробовать

3. Selenium

Изначально Selenium разрабатывался как автоматизированная среда веб-тестирования. Однако разработчики обнаружили, что его довольно удобно использовать в качестве веб-скребка.

Селен обычно используется, когда вам нужно получить интересующие данные после взаимодействия с веб-страницами. Например, вам может потребоваться зарегистрировать учетную запись, затем войти в систему и получить содержимое после нажатия некоторых кнопок и ссылок, и эти ссылки определяются как функции JavaScript. В этих случаях обычно нелегко использовать Scrapy или Beautiful Soup для реализации, а Selenium может.

Тем не менее, важно отметить, что Selenium будет работать намного медленнее, чем обычные библиотеки. Это потому, что он фактически инициализирует веб-браузер, такой как Chrome, а затем имитирует все действия, определенные в коде. Поэтому, когда вы имеете дело с шаблонами URL и XPath, используйте Scrapy или Beautiful Soup. Выбирайте Selenium, только если это необходимо

Поэтому, когда вы имеете дело с шаблонами URL и XPath, используйте Scrapy или Beautiful Soup. Выбирайте Selenium, только если это необходимо.

Очистка и преобразование данных

Я предполагаю, что нет необходимости утверждать, насколько важны очистка и преобразование данных в аналитике данных и науке о данных. Кроме того, есть слишком много выдающихся библиотек Python, которые делают это хорошо. Я подберу некоторые из них, которые вы должны знать как Data Scientist или Analyst.

Загрузка, отображение и сохранение изображения

Для загрузки изображения мы используем функцию cv2.imread(), где первым аргументом указывается путь к изображению, а вторым аргументом, который является необязательным, мы указываем, в каком цветовом пространстве мы хотим считать наше изображение. Чтобы считать изображение в RGB — cv2.IMREAD_COLOR, в оттенках серого — cv2.IMREAD_GRAYSCALE. По умолчанию данный аргумент принимает значение cv2.IMREAD_COLOR. Данная функция возвращает 2D (для изображения в оттенках серого) либо 3D (для цветного изображения) массив NumPy. Форма массива для цветного изображения: высота x ширина x 3, где 3 — это байты, по одному байту на каждую из компонент. В изображениях в оттенках серого всё немного проще: высота x ширина.

С помощью функции cv2.imshow() мы отображаем изображение на нашем экране. В качестве первого аргумента мы передаём функции название нашего окна, а вторым аргументом изображение, которое мы загрузили с диска, однако, если мы далее не укажем функцию cv2.waitKey(), то изображение моментально закроется. Данная функция останавливает выполнение программы до нажатия клавиши, которую нужно передать первым аргументом. Для того, чтобы любая клавиша была засчитана передаётся 0. Слева представлено изображение в оттенках серого, а справа в формате RGB:

И, наконец, с помощью функции cv2.imwrite() записываем изображение в файл в формате jpg(данная библиотека поддерживает все популярные форматы изображений:png, tiff,jpeg,bmp и т. д., поэтому можно было сохранить наше изображение в любом из этих форматов), где первым аргументом передаётся непосредственно само название и расширение, а следующим параметром изображение, которое мы хотим сохранить.

Вступление

Тема красивых интерфейсов была и будет актуальна всегда. Кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие совмещать красоту графических дизайнов, создаваемых на HTML, CSS и JS с гибкостью в реализации логики приложения, которую может дать другой язык. Так вот, для тех, кто пишет на самом лучшем языке программирования Python, есть возможность писать красивые интерфейсы на HTML, CSS и JS и прикручивать к ним логику на Python.

В этой статья я хочу показать на небольшом примере, как же все таки создать простое и красивое десктопное приложение на HTML, CSS, JS и Python. В качестве библиотеки для связи всех компонентов будем использовать EEL.

namedtuple: кортеж, только именованный

Кортеж (tuple, его часто называют «неизменяемым списком») в Python содержит некоторое количество элементов, к каждому из которых можно обратиться только по его индексу.

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

Здесь снова приходит на помощь библиотека collections, а конкретно её функция namedtuple. Это расширение над встроенными кортежами, которое даёт имя каждому элементу кортежа, а точнее — создаёт именованные поля, в которые мы, как в строку в таблице, складываем значения.

В итоге получаем что-то вроде неизменяемого (immutable) словаря, только гораздо легче читаемого.

Мы импортировали функцию namedtuple из collections. Затем создали конструктор именованных кортежей fruit, указав:

  • общее название тех кортежей, которые мы будем создавать (‘fruit’);
  • строку, содержащую имена полей именованного кортежа. Имена разделены в строке пробелом.

А после этого создали два именованных кортежа: apple и orange.

Теперь можно обращаться к элементам этих кортежей не по индексу, а по именам полей number, sort и color. Они являются атрибутами именованных кортежей, то есть используются через точку и без скобок.

Оценка производительности

pympler

Потребление памяти в Python отдельная проблема, которой можно посвятить много времени, поэтому зачастую приходится следить за тем, чтобы python не сожрал всю оперативку. Для проверки памяти есть замечательный модуль pympler, который поможет не только посмотреть память, занимаемую объектом, но также поможет проследить за памятью, которую занимают отдельные классы или типы данных:

Проследим за изменением памяти, занимаемой классом A:

И в целом за памятью, занимаемой различными структурами

py-spy

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

В таком случае можно воспользоваться библиотекой py-spy, она позволяет без остановки программы проверить, сколько времени какие процессы в ней занимают. Установить библиотеку можно через pip install py-spy. Усложним код предыдущей программы, создадим дополнительный модуль sec.py:

модуль main.py:

Теперь через терминал достаточно прописать команду py-spy top — python main.py и вы будете получать информацию о времени работы каждого метода программы:

petl

petl — это универсальный пакет Python для извлечения, преобразования и загрузки таблиц данных.petl — это пакет Python для ETL (отсюда и название ‘petl’). Как и в случае с Pandas, petl позволяет пользователю создавать таблицы в Python, извлекая их из различных источников данных (csv, xls, html, txt, json и т.д.). И записывая их в выбранную вами базу данных или формат хранения. У petl много тех же возможностей, что и у pandas, но он разработан для работы с ETL и не включает встроенных функций анализа, поэтому он может подойти Вам, если вы заинтересованы исключительно в ETL.

Этот пакет предназначен в первую очередь для удобства и простоты использования, особенно при интерактивной работе с незнакомыми, неоднородными и/или смешанными по качеству данными.

Преобразования petl минимально используют системную память и могут масштабироваться до миллионов строк, если скорость не является приоритетом. Однако, если вы работаете с очень большими наборами данных и/или приложениями, для которых критически важна производительность, то рассмотрите другие пакеты, например, см. Pandas, pytables, bcolz и blaze.