Обработка данных MS SQL Server средствами Python
Не всякие данные можно обработать с помощью старого доброго Excel или SQL. Впервые с проблемой нехватки стандартных средств анализа и обработки данных мы столкнулись при разработке модуля для анализа рекламы нашей компании на ТВ. Необходимо было хранить большой объём кадров прямого эфира каналов и информации о них. Поэтому было принято решение о интеграции возможностей языка python c языком SQL.
Для работы импортируем необходимые библиотеки:
В случае, если данная библиотека отсутствует на устройстве, в командной строке запустите команду:
Данный модуль упрощает доступ к базам данных через программный интерфейс ODBC (Open Database Connectivity).
Далее создаём строку подключения к нашей базе данных:
где Driver – драйвер Microsoft ODBC для SQL Server. Обеспечивает возможность подключения к Microsoft SQL Server из Windows.
Server – указание сервера, на котором будут храниться (хранятся) наши таблицы:
Trusted Connection – указывает на способ подключения пользователей к БД. В случае, если указано значение «yes», для проверки подлинности используется учётная запись Windows, а ключи UID и PWD игнорируются, и наоборот, при выборе значения «no».
После заполнения строки подключения данными, выполним соединение к нашей базе данных:
Создадим курсор, с помощью которого, посредством передачи запросов будем оперировать данными в нашей таблице:
Теперь можно написать наш первый запрос! Допустим, у нас есть таблица с данными о книгах, связанных с проектированием баз данных. Данная таблица будет содержать следующие данные: название книги, имя(имена) автора(ов) книги, год издания и краткое описание.
Добавим данные в нашу таблицу с помощью кода на python:
Проверим нашу таблицу (для проверки использовался SQL Server Management Studio):
Наш запрос успешно выполнен, но стоит отметить, что возможности использования библиотеки pyodbc не ограничиваются заполнением таблиц данными. Попробуем выбрать данные из нашей таблицы:
Результат работы программы:
Так же есть возможность сохранения результата запроса в объект DataFrame, для дальнейшей обработки средствами библиотеки pandas:
Результат работы программы:
Таким образом, сегодня мы научились с помощью скриптов на языке python посредством библиотеки pyodbc создавать запросы для работы с SQL серверами, что может быть использовано для удобства работы с данными в повседневной деятельности аудитора.
Интересненько, попробую, спасибо.
Alexander, спасибо!
тоесть Вы предлагаете использовать raw sql запросы место какой-нибудь orm? а как же сложные join'ы и subquery?
Алексей, спасибо за ваш комментарий. В статье рассматриваем один из подходов по взаимодействию с данными. ORM не всегда используем, они усложняют работу с реляционными БД, скрывают SQL за обертками из сложных конструкций собственных объектов.
тогда проще вьюхи на бд создать)))