Следующая часть статьи посвящена нескольким базам данных и их работе в Питоне. Начало здесь.

Как подружить Python с БД – ключевые моменты

Для начала стоит рассмотреть структуру (схему) используемого в дальнейших примерах «хранилища электронных материалов».

Пусть БЛ состоит из четырех табличек:

  • users;
  • posts;
  • comments;
  • likes.

Точная структура для Python показана на картинке ниже. Она пригодится при непосредственной обработке информации.

БД и Python: что нужно знать. Часть 2

Здесь стоит обратить внимание на следующие моменты:

  1. Пользователи и публикации – имеют тип связи «один ко многим».
  2. Каждый клиент имеет право оставлять множество комментариев.
  3. У поста может быть несколько комментов.
  4. Лайки обладают идентичными характеристиками, что и комментарии.

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

Подключение

Перед тем, как начать работу с данными в Python (их «хранилищами»), требуется осуществить предварительное подключение оных. SQLite работает с Питоном по умолчанию. Для MySQL потребуется дополнительная библиотека под названием PyMySQL. Она представляет собой набор кодов, которые подходят для работы с MySQL в Питоне от версии 3.0. Если разработка ведется на более старых вариациях ЯП, библиотека не пригодится.

Дальнейшие примеры будут приведены на основе SQLite, MySQL и PostgreSQL. Именно такая последовательность рассматривается для всех операций и манипуляций.

SQLite – самый простой вариант. Подключиться к ней можно только через средства Python без дополнений. По умолчанию ЯП имеет модуль sqlite3 для обработки электронных материалов.

БД и Python: что нужно знать. Часть 2

А вот скрипт, который поможет установить соединение с SQLite:

БД и Python: что нужно знать. Часть 2

В случае с MySQL операции происходят чуть иначе. Они требуют:

  • скачивания и инициализации драйверов mysql-connector-python.
  • установки соединения с сервером;
  • выполнения запроса.
БД и Python: что нужно знать. Часть 2

Картинка выше показывает принцип загрузки необходимого модуля для Python. Далее – код, отвечающий за подключение к серверу MySQL, а также за возврат объекта подключения:

БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2

Для PorstgreSQL нужно действовать так же, как и в случае с MySQL – сначала скачать модуль драйверов и инициализировать его:

БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2

Выше представлены функции для определения хранилища информации, а также непосредственного подключения.

Создание таблиц

Чтобы создавать таблицы, нужно использовать метод cursor.execute().

БД и Python: что нужно знать. Часть 2

Далее нужно сформировать передаваемый запрос. Он будет носить название query:

БД и Python: что нужно знать. Часть 2

А вот запрос, который заставит табличку появиться:

БД и Python: что нужно знать. Часть 2

Чтобы создать posts, потребуется код:

БД и Python: что нужно знать. Часть 2

Для комментов и лайков:

БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2

Это – примеры для SQLite. По данной ссылке можно увидеть кодификации для MySQL и PostgreSQL. Далее в основе будет заложен именно SQLite

Вставка записей

Здесь можно воспользоваться следующими особенностями:

  1. Можно использовать функцию, что и для создания табличек – execute_query().
  2. Чтобы воспользоваться таким приемом, нужно сначала сохранить запрос insert into в виде строки.
  3. Далее – осуществить передачу объекта connection и строку (запрос) в execute_query.
БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2

Выше – примеры добавления электронных материалов для всех составляющих «хранилища».

Извлечение из записей

А вот еще одна важная возможность. Она помогает выбирать записи и использовать их. В SQLite применяется cursor.execute(). Но после этого придется обратиться к методу fetchall(). Он будет возвращать список кортежей, где каждый «элемент» соответствует строке в извлеченных записях. Вот пример функции для упрощения реализации поставленной задачи:

БД и Python: что нужно знать. Часть 2

Теперь можно выбрать все записи из таблички users. Для этого подойдет оператор Select:

БД и Python: что нужно знать. Часть 2

Для постов этот элемент кода будет иметь аналог:

БД и Python: что нужно знать. Часть 2

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

БД и Python: что нужно знать. Часть 2

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

БД и Python: что нужно знать. Часть 2
БД и Python: что нужно знать. Часть 2

Обновление

Стоит обратить внимание на еще одну важную операцию. Речь идет об обновлении. Тут нужно учитывать следующие моменты:

  • Можно применять execute_query().
  • Пример позволит обновить текст сообщения с id под номером 2.
  • Сначала нужно написать описание для Select.
БД и Python: что нужно знать. Часть 2
  • А вот скрипт, который обновит описание:
БД и Python: что нужно знать. Часть 2

Завершающий этап – это выполнение Select-запроса. Данный алгоритм приведет к обновлению необходимой записи.

Удаление

Для удаления информации нужно использовать команду Delete. В примере, приведенном ниже, происходит стирание комментария с id = 5:

БД и Python: что нужно знать. Часть 2

Библиотеки для анализа данных

У Python довольно мощный функционал. Дополнить его можно через специализированные библиотеки. При любом программировании это – полезный прием, облегчающий процедуру коддинга.

Форматирование и очистка

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

  1. Dora. Нужна для разведенного анализа данных. Автоматизирует ключевые части соответствующего процесса.
  2. DataCleaner. Проект, принимающий на вход материалы в DataFrame, а затем выбирает некорректные и исправленные значения.
  3. PrettyPandas. Помогает приводить датайфреймы в удобный вид. Для этого применяется pandas Style API.
  4. Tabulate. Выводит читабельной форме списки списков, списки, а также иные структуры. Умеет работать с массивами NumPy.
  5. Scrubadub. Инструмент обработки конфиденциальных данных в Python.
  6. Arrow. Оптимизирует работу со временем, которая является проблемой для нативной разработки в выбранном ЯП.
  7. Beautifier. Упрощает контактирование с электронными ящиками и URL-адресами.
  8. Ftfy. Библиотека, превращающая плохие строки Unicode в хорошие.

Все это – только начало. Но данных библиотек хватит для весьма качественной разработки программного обеспечения на Python.

Визуализация

У Питона есть специализированные библиотеки практически для всех способов отображения электронных сведений. Далее предложены 10 универсальных вариантов. Это – непревзойденные лидеры как для новичков, так и для опытных разрабов:

  1. Matplotlib. Один из стандартов визуализации. Для презентаций подойдет не лучшим образом из-за стиля 90-х годов.
  2. Seaborn. Своеобразная «обертка» Matplotlib. У нее есть ряд улучшений, которые сказались на эстетике.
  3. Ggplot. Работа базируется на графиках. Сложные персонализированные структуры здесь создать проблематично, а вот элементарные и небольшие – запросто.
  4. Bokeh. Имеет поддержку выгрузки элементов JSON, в HTML и интерактивные веб-утилиты. Умеет передавать материалы в режиме реального времени. Предусматривает потоковый метод обработки.
  5. PyGal. Простая библиотека, которая умеет выгружать материалы в SVG. Результаты удается встроить в веб-контент.
  6. Plotly. Обладает адаптацией для интерактивных веб-утилит. Позволяет создавать контурные графики, дендограммы, трехмерные чертежи.
  7. Geoplotlib. Нужна для того, чтобы работать с картами. Чтобы запустить оную, требуется Pyglet.
  8. Gleam. Превращает результаты анализа в интерактивные утилиты на Питоне через его скрипты. Не требует специальных навыков и знаний HTML или CSS.
  9. Missingno. Служит для отображения полноты электронных материалов. Помогает тогда, когда библиотеки очистки вводных от пропущенных полей не дают желаемого результата.
  10. Leather. Представляет чертежную библиотеку для Python. Позволяет создавать графики «здесь и сейчас». Подходит для любых типов данных.

Работа с БД и обработка информации в Питоне – это не так трудно. А освоить соответствующее направление с нуля помогут специализированные онлайн курсы.

БД и Python: что нужно знать. Часть 2