Чтение из базы данных
В этом упражнении вы будете извлекать данные из таблиц локальной базы данных 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)