Как получить данные из базы данных в 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.