Как получить данные из базы данных в Python? Импорт данных с помощью Python
Опубликовано: 2021-03-09Анализ данных является важным навыком для молодых выпускников, инженеров и менеджеров в современной рабочей среде, основанной на технологиях. В этой статье мы расскажем, как извлекать данные из базы данных в Python , и познакомим вас с некоторыми фундаментальными понятиями.
Оглавление
Извлечение данных с помощью базы данных Python
Извлечение данных влечет за собой извлечение данных из различных источников, иногда их дальнейшую обработку и перенос в репозитории для дальнейшего анализа. Итак, в процессе происходит какая-то трансформация данных. И python — один из ведущих языков программирования для таких задач по науке о данных. Во всем мире насчитывается около 8,2 миллиона пользователей этого языка сценариев общего назначения.
В следующем руководстве мы обсудим методы извлечения с использованием PostgreSQL, системы реляционных баз данных с открытым исходным кодом. Он предоставляет функцию ROW_TO_JSON, которая возвращает наборы результатов в виде объектов JSON, заключенных в фигурные скобки {}. Типы данных JSON помогут вам более удобно манипулировать результатами запроса. Но прежде чем мы начнем, убедитесь, что у вас установлена виртуальная среда, такая как psycopg2-binary.
Основы базы данных Python
Предположим, у вас есть база данных PostgreSQL Американской национальной футбольной лиги (НФЛ). Это будет включать информацию об игроках, тренерах и таблицах команд. Кроме того, обратите внимание на следующие детали, чтобы получить представление о сохраненных данных:
- В таблице данных игроков содержатся такие сведения, как athelete_id, который является первичным ключом, имена и фамилии игроков, номера футболок, вес (в кг), рост (в м) и страна их происхождения. Он также содержит team_id, внешний ключ, указывающий команду каждого спортсмена.
- Таблица данных о тренерах имеет coach_id (первичный ключ), а также имя и фамилию, а также team_id (внешний ключ, ссылающийся на поле таблицы команд).
- Наконец, есть таблица команд, в которой описывается каждая футбольная команда с названием, конференцией, их рейтингом и общим количеством побед и поражений (разделенных на «дома» и «в гостях»). Здесь первичным ключом является team_id, ссылка на который приведена в таблицах выше.
Теперь, когда вы знакомы с набором данных, давайте рассмотрим, как написать запрос SQL для получения списка команд. Например, вам нужны футбольные команды, упорядоченные по их конференции и рангу. Вы также хотите извлечь количество спортсменов или игроков в каждой команде вместе с именами их тренеров. Вы также можете узнать количество побед и поражений команд дома и на выезде.
Чтобы начать этот процесс, выполните следующие действия:
ВЫБРАТЬ
ф.имя,
ф.город,
ф.конференция,
f.conference_rank,
COUNT(a.player_id) КАК количество_спортсменов,
CONCAT(c.first_name, ' ', c.last_name) AS тренер,
f.home_wins,
f.away_wins
СО спортсменов а, команд ж, тренеров в
ГДЕ a.team_id = f.team_id
И c.team_id = f.team_id
СГРУППИРОВАТЬ ПО f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ЗАКАЗАТЬ ПО f.conference, f.conference_rank
После этого вы можете деформировать запрос внутри функции JSON, о которой мы упоминали ранее (ROW_TO_JSON). Это сохранит данные в файл с именем query.sql в вашем текущем каталоге. Теперь выполните шаги, указанные ниже.
ВЫБЕРИТЕ ROW_TO_JSON(команда_информация) ОТ (
ВЫБРАТЬ
ф.имя,
ф.город,
ф.конференция,
f.conference_rank,
COUNT(a.athelete_id)AS количество_спортсменов,
CONCAT(c.first_name, ' ', c.last_name) AS тренер,
f.home_wins,
f.away_wins
СО спортсменов а, команд ж, тренеров в
ГДЕ a.team_id = f.team_id
И c.team_id = f.team_id
СГРУППИРОВАТЬ ПО f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
ЗАКАЗАТЬ ПО f.conference, f.conference_rank
) КАК team_info
Вы заметите, что каждая строка имеет структуру словаря Python. Ключи — это просто имена полей, возвращаемые вашим запросом.
Кроме того, чтобы не показывать переменные среды на виду, вы можете внести некоторые изменения в свои файлы инициализации. Выберите любой из следующих способов в зависимости от ваших потребностей:
- Для Windows: Панель управления → Система → Дополнительные параметры системы → Вкладка «Дополнительно» → Переменные среды.
- Для Unix-подобной среды: добавьте две строки о вашем имени пользователя и пароле к файлу инициализации.
Теперь все готово для написания кода на Python. В самом начале мы импортируем некоторые модули и функции, чтобы избежать ошибок. Эти утверждения могут помочь вам в этом:
импорт ОС
импортировать psycopg2 как p
из ошибки импорта psycopg2
Затем мы создадим соединение, загрузив содержимое query.sql. Откройте файл базы данных SQL с помощью команд открытия и чтения и подключитесь к базе данных NFL с помощью функции подключения, указав пользователя базы данных, пароль, хост и номер порта.
Читайте также: Проекты Python на GitHub
Как получить данные из базы данных в Python?
После того, как вы установили соединение с базой данных, вы можете приступить к выполнению запроса. Вам нужно использовать управляющую структуру под названием «курсор». Это так же просто, как написать «cursor = conn.cursor()», а затем «cursor.execute(query)». Результат будет содержать список кортежей (одноэлементных) в формате словаря.
результат = курсор.fetchall()
На этом этапе вы можете попытаться повторить результат. Вы можете манипулировать содержимым по своему усмотрению, вставлять или передавать его в электронные таблицы, HTML-таблицы и т. д. Не забудьте завернуть и очистить свой код, пока закончите. Вы можете сделать это с помощью блока try-except и добавления предложения «наконец-то».
Когда вы работаете с большими наборами данных, реляционными или другими, вы чувствуете потребность в некоторых основных инструментах для запросов к таблицам, особенно когда вы также хотите манипулировать результатами. Такого преобразования данных легко добиться с помощью python.
Поэтому большинство программ последипломного образования включают знание этих методов как часть учебной программы. Некоторые примеры включают диплом младшего специалиста по науке о данных (IIIT-Бангалор) и глобальный сертификат магистра в области бизнес-аналитики (Университет штата Мичиган).
Оформить заказ: идеи проектов с открытым исходным кодом Python
Заключение
В этом руководстве по базе данных Python мы узнали, как подключить реляционную базу данных, выполнять запросы и импортировать результаты. Вы можете сделать гораздо больше с Python и адаптировать свой код для выполнения желаемых задач.
Мы надеемся, что это руководство помогло вам обрести ясность и пробудило ваше любопытство!
Изучите курсы по науке о данных в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Как вы извлекаете данные из API с помощью запросов Python?
Когда вы хотите получать данные от API, вы должны сделать запрос с сервера, как и при взаимодействии с обычными веб-сайтами. Нам нужно будет использовать пакет запросов для получения данных из API с помощью Python. В Python Requests — это стандартная библиотека для создания HTTP-запросов. Благодаря своим абстракциям его действительно легко использовать, особенно при работе с API.
Когда мы используем библиотеку запросов для выполнения запроса, мы получаем объект запроса, который содержит данные, которые мы хотим извлечь, а также код состояния запроса. Код состояния информирует нас о статусе запроса, и он является частью каждого запроса, который мы делаем. В зависимости от информации, которую они возвращают, коды делятся на сотни различных значений.
Как связать SQLite с Python?
а. Мы должны импортировать sqlite3, чтобы использовать SQLite.
б. Затем, используя метод подключения, установите соединение и укажите имя базы данных, к которой вы хотите получить доступ; если файл с таким именем существует, он будет открыт. Python создаст файл с указанным именем, если вы его не укажете.
в. После этого создается объект курсора, который может отправлять команды SQL. Курсор — это управляющая структура для обхода и извлечения записей из базы данных. При работе с Python курсор действительно важен. Объект курсора будет использоваться для выполнения всех команд.
д. Создайте объект, а также напишите в нем оператор SQL с комментариями для создания таблицы в базе данных. Пример: - sql_comm = оператор SQL.
е. И запустить команду очень просто. Выполните метод курсора, передав имя команды sql в качестве аргумента. Сохраните список команд как переменную sql_comm и запустите их. После того, как вы выполнили все свои задачи, сохраните изменения в файле, зафиксировав их, а затем отключитесь.
Подходит ли Python для баз данных?
Python особенно хорошо подходит для структурированных табличных данных, которые могут быть получены с помощью SQL, но затем требуют дополнительных манипуляций, которые было бы трудно выполнить с помощью одного SQL.