Pandas och SQL-frågors Hello World!
Här får du ta vara på kraften hos pandas och skriva resultatet av din SQL-fråga till en DataFrame – på en enda rad Python-kod!
Du börjar med att importera pandas och skapa en motor för SQLite-databasen 'Chinook.sqlite'. Sedan ställer du en fråga mot databasen för att hämta alla poster från tabellen Album.
Kom ihåg att Hugo använde följande kommando för att hämta alla poster från tabellen Orders i Northwind-databasen:
df = pd.read_sql_query("SELECT * FROM Orders", engine)
Den här övningen är en del av kursen
Introduktion till dataimport i Python
Övningsinstruktioner
- Importera paketet
pandasmed aliasetpd. - Använd funktionen
create_engine()för att skapa en motor för SQLite-databasenChinook.sqliteoch tilldela den till variabelnengine. - Använd
pandas-funktionenread_sql_query()för att tilldela variabelndfden DataFrame som returneras av följande fråga: select alla poster from tabellenAlbum. - Resten av koden är redan inkluderad för att bekräfta att den DataFrame som skapas med den här metoden är identisk med den som skapades med metoden du lärde dig tidigare.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Import packages
from sqlalchemy import create_engine
import ____ as ____
# Create engine: engine
# Execute query and store records in DataFrame: df
df = pd.read_sql_query(____, ____)
# Print head of DataFrame
print(df.head())
# Open engine in context manager and store query result in df1
with engine.connect() as con:
rs = con.execute("SELECT * FROM Album")
df1 = pd.DataFrame(rs.fetchall())
df1.columns = rs.keys()
# Confirm that both methods yield the same result
print(df.equals(df1))