Ler de um banco de dados
Neste exercício, você vai extrair dados que estão em tabelas de um banco de dados PostgreSQL local. Os dados que você vai usar vêm do banco de dados de exemplo Pagila. Esse banco dá suporte a um aplicativo fictício de locadora de DVDs e é frequentemente usado como exemplo em materiais educacionais.
Você vai criar e usar uma função que extrai uma tabela do banco para um objeto pandas DataFrame. As tabelas que você vai extrair são:
film: os filmes que são alugados na locadora de DVDs.customer: os clientes que alugaram filmes na locadora.
Para se conectar ao banco de dados, você precisará usar uma URI de conexão do PostgreSQL, que se parece com isto:
postgresql://[user[:password]@][host][:port][/database]
Este exercício faz parte do curso
Introdução à Engenharia de Dados
Instruções do exercício
- Complete a definição da função
extract_table_to_pandas()para incluir o argumentotablenamedentro da consulta. - Preencha a URI de conexão. O nome de usuário e a senha são
replepassword, respectivamente. O host élocalhoste a porta é5432. O banco de dados épagila. - Complete as chamadas da função
extract_table_to_pandas()para extrair as tabelas film e customer.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)