«Визуализация дает вам ответы на вопросы, о которых вы даже не подозревали». - Бен Шнайдерман

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

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

В этом руководстве мы узнаем, как использовать различные инструменты Python для создания аналогичной панели инструментов. Это будет серия из 3 частей, в которых -

Часть 1- Узнайте, как взаимодействовать с SQL Server и какие данные хранить.

Часть 2- Подробное обсуждение DASH.

Part3- Создание простой панели инструментов.

Предпосылки

Для этого проекта вам понадобятся всего 3 вещи:

  1. Базовые знания Python.
  2. Базовые знания баз данных, таких как SQL Server или MySQL.
  3. Умение определять требования вашего клиента.

Шаг 1. Скачивание инструментов.

База данных: в учебных целях мы собираемся использовать SQL Express, который можно найти здесь.

Инструменты для доступа к базе данных: мы собираемся использовать Azure Data Studio. Я обнаружил, что это относительно более простой в использовании инструмент (особенно если вы новичок).

Python3: вы можете скачать Python 3.7.6 здесь.

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

  1. Определите цель своей базы данных. Вы должны знать информацию, которую собираетесь записывать, и стараться свести количество таблиц к минимуму.
  2. Всегда предоставляйте первичные ключи.
  3. Избегайте нулевых и избыточных данных.

Шаг 2. Загрузка модуля pyodbc.

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

Откройте командную строку (CMD) и введите следующую команду, чтобы установить библиотеку pyodbc в вашей системе.

Шаг 3. Создание строки подключения.

Строки подключения сообщают pyodbc, к какой базе данных вы хотите подключиться, и требуются ли для нее какие-либо параметры аутентификации.

Синтаксис -

Теперь, когда мы подключаемся к SQL Server, мы не будем менять драйвер. Мы можем получить подробную информацию о сервере и базе данных из студии данных Azure, как показано ниже.

Это изменяет нашу строку подключения на -

Как вы, вероятно, заметили, мы удалили поля «UID» (идентификатор пользователя) и «PWD» (пароль), поскольку SQL Express не требует подключения этих полей. Также мы добавили новое поле autocommit. Это сообщает коду Python, что каждое изменение, которое мы вносим в базу данных, должно быть зафиксировано. Если мы удалим это, нам придется отправлять команду connection.commit () каждый раз, когда мы вносим изменения.

Шаг 4. Создание курсоров и выполнение запроса.

Курсор базы данных можно рассматривать как указатель на определенную строку в результате запроса. Указатель можно перемещать из одной строки в другую.

После создания соединения и определения курсора мы можем легко выполнить любой запрос, который нам нравится. В приведенном выше примере мы использовали метод fetchall (), который позволил нам получить все строки.

Затем с помощью простого цикла for-loop мы можем перебирать каждую строку.

Обратите внимание, что «row» типа данных «pyodbc.Row» в основном действует как обычный список, поэтому к отдельным значениям можно получить доступ путем индексации.

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

И это все. Всего за 4 шага вы легко сможете настроить свою базу данных и получить к ней доступ с помощью python.

Вы можете найти весь код ниже -

Бонусный материал:

  1. Помимо метода fetchall (), вы также можете изучить -
  • fetchone () - позволяет получить только верхнюю 1 строку.
  • fetchval () - если мы получаем только один столбец, мы можем использовать его для возврата только значения.
  • commit () - используйте это, если хотите зафиксировать выполненный запрос.
  • rollback () - используйте это, если хотите откатить выполненный запрос.
  • close () - закрывает курсор.

2. Обработка котировок-

Применение условия where может быть немного сложным, поскольку в python оба ‘’ и «» определяют строку. Теперь, когда мы рассматриваем такой запрос, как

В приведенном выше случае кавычки не совпадают, и поэтому мы получим ошибку компилятора. Чтобы решить эту проблему, мы можем использовать «» и «» как синонимы.

3. Получение данных как Pandas DataFrame

Иногда вам могут потребоваться данные в форме фрейма данных Pandas (конкретный сценарий описан в следующей части). Для этого мы можем использовать метод pandas read_sql_query (), как показано ниже.

Итак, это конец этого урока. Увидимся в следующей части!