НачатьНачать бесплатно

Чтение из базы данных

В этом упражнении вы будете извлекать данные из таблиц локальной базы данных PostgreSQL. В качестве источника данных используется пример базы данных Pagila. Эта база данных создана для вымышленного приложения DVD-проката и широко применяется в учебных целях.

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

  • film — фильмы, доступные для проката в DVD-магазине.
  • customer — клиенты, которые брали фильмы напрокат.

Для подключения к базе данных потребуется URI подключения PostgreSQL, который выглядит следующим образом:

postgresql://[user[:password]@][host][:port][/database]

Это упражнение является частью курса

Введение в дата-инжиниринг

Посмотреть курс

Инструкции к упражнению

  • Дополните определение функции extract_table_to_pandas(), добавив аргумент tablename в запрос.
  • Заполните URI подключения. Имя пользователя и пароль — repl и password соответственно. Хост — localhost, порт — 5432. База данных называется pagila.
  • Завершите вызовы функции extract_table_to_pandas(), чтобы извлечь таблицы film и customer.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Function to extract table to a pandas DataFrame
def extract_table_to_pandas(tablename, db_engine):
    query = "SELECT * FROM {}".format(____)
    return pd.read_sql(query, db_engine)

# Connect to the database using the connection URI
connection_uri = "postgresql://____:____@____:____/____" 
db_engine = sqlalchemy.create_engine(connection_uri)

# Extract the film table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)

# Extract the customer table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)
Редактировать и запускать код