Pandas 与 SQL 查询的 Hello World!
在这里,您将利用 pandas 的强大功能,只用一行 Python 代码就把 SQL 查询结果写入一个 DataFrame!
您将先导入 pandas 并创建 SQLite 数据库 'Chinook.sqlite' 的引擎。然后,查询数据库中 Album 表的所有记录。
回顾一下:要在 Northwind 数据库中选取 Orders 表的所有记录,Hugo 执行了以下命令:
df = pd.read_sql_query("SELECT * FROM Orders", engine)
本练习是课程的一部分
Python 数据导入入门
练习说明
- 以别名
pd导入pandas包。 - 使用函数
create_engine()为 SQLite 数据库Chinook.sqlite创建引擎,并将其赋值给变量engine。 - 使用
pandas函数read_sql_query(),将如下查询的结果 DataFrame 赋给变量df:从表Album中选择所有记录(SELECT *)。 - 其余代码用于确认:通过该方法创建的 DataFrame 与您之前学到的方法所创建的结果相同。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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))