Läs från en databas
I den här övningen ska du extrahera data som finns i tabeller i en lokal PostgreSQL-databas. Du kommer att använda exempeldatabasen Pagila. Databasen är kopplad till en fiktiv DVD-butiksapplikation och används ofta som exempeldatabas i utbildningssammanhang.
Du ska skapa och använda en funktion som extraherar en databastabell till ett pandas DataFrame-objekt. De tabeller du kommer att extrahera är:
film: de filmer som hyrs ut i DVD-butiken.customer: de kunder som hyr filmer i DVD-butiken.
För att ansluta till databasen behöver du använda en PostgreSQL-anslutnings-URI, som ser ut ungefär så här:
postgresql://[user[:password]@][host][:port][/database]
Den här övningen är en del av kursen
Introduktion till datatekniker
Övningsinstruktioner
- Komplettera funktionsdefinitionen för
extract_table_to_pandas()så att argumentettablenameingår i frågan. - Fyll i anslutnings-URI:n. Användarnamnet och lösenordet är
replrespektivepassword. Värden ärlocalhostoch porten är5432. Databasen heterpagila. - Komplettera funktionsanropen till
extract_table_to_pandas()för att extrahera tabellerna film och customer.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)