データベースから読み取る
この演習では、ローカルの PostgreSQL データベース内のテーブルからデータを抽出します。使用するデータは Pagila example database です。これは架空の DVD ストアアプリを支えるデータベースで、教育用に例としてよく使われます。
データベースのテーブルを pandas の DataFrame オブジェクトに抽出する関数を作成して利用します。抽出するテーブルは次のとおりです。
film: DVD ストアでレンタルされる映画。customer: DVD ストアで映画を借りた顧客。
データベースに接続するには、次のような PostgreSQL の接続 URI を使用します。
postgresql://[user[:password]@][host][:port][/database]
この演習はコースの一部です
データエンジニアリング入門
演習の手順
extract_table_to_pandas()関数定義を完成させ、クエリ内にtablename引数を含めてください。- 接続 URI を埋めてください。ユーザー名とパスワードはそれぞれ
replとpassword、ホストはlocalhost、ポートは5432、データベースはpagilaです。 extract_table_to_pandas()の関数呼び出しを完成させ、film テーブルと customer テーブルを抽出してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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)