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 de ejercicio
- Completa la definición de la función
extract_table_to_pandas()
para incluir el argumentotablename
dentro de la consulta. - Introduce la URI de la conexión. El nombre de usuario y la contraseña son
repl
ypassword
, respectivamente. El host eslocalhost
y 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
Pruebe este ejercicio completando este 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)