Leer de una base de datos
En este ejercicio, vas a extraer datos que residen dentro de tablas de una base de datos local PostgreSQL. Los datos que vas a utilizar son los de la base de datos de ejemplo Pagila. La base de datos respalda una aplicación ficticia de la tienda DVD, y los recursos educativos suelen utilizarla como base de datos de ejemplo.
Crearás y utilizarás una función que extrae una tabla de base de datos en un objeto DataFrame de pandas. Las tablas que extraerás son:
film: las películas que se alquilan en la tienda DVD.customer: los clientes que alquilaron películas en la tienda DVD.
Para conectarte a la base de datos, tendrás que utilizar una conexión PostgreSQL URI , que tiene este aspecto:
postgresql://[user[:password]@][host][:port][/database]
Este ejercicio forma parte del curso
Introducción a la ingeniería de datos
Instrucciones del ejercicio
- Completa la definición de la función
extract_table_to_pandas()para incluir el argumentotablenamedentro de la consulta. - Introduce la URI de la conexión. El nombre de usuario y la contraseña son
replypassword, respectivamente. El host eslocalhosty el puerto es5432. La base de datos espagila. - Completa las llamadas a funciones de
extract_table_to_pandas()para extraer las tablas de películas y clientes.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)