Pandas và "Hello World" của các truy vấn SQL!
Ở đây, bạn sẽ tận dụng sức mạnh của pandas để ghi kết quả truy vấn SQL vào một DataFrame chỉ với một dòng Python!
Trước hết, bạn sẽ import pandas và tạo engine SQLite cho 'Chinook.sqlite'. Sau đó bạn sẽ truy vấn cơ sở dữ liệu để chọn tất cả bản ghi từ bảng Album.
Hãy nhớ rằng để chọn tất cả bản ghi từ bảng Orders trong cơ sở dữ liệu Northwind, Hugo đã chạy lệnh sau:
df = pd.read_sql_query("SELECT * FROM Orders", engine)
Bài tập này là một phần của khóa học
Nhập dữ liệu vào Python: Giới thiệu
Hướng dẫn bài tập
- Import package
pandasvới bí danhpd. - Dùng hàm
create_engine()để tạo một engine cho cơ sở dữ liệu SQLiteChinook.sqlitevà gán vào biếnengine. - Dùng hàm
read_sql_query()củapandasđể gán vào biếndfDataFrame kết quả từ truy vấn sau: select all records from bảngAlbum. - Phần mã còn lại được dùng để xác nhận rằng DataFrame tạo theo cách này giống với DataFrame tạo theo phương pháp trước bạn đã học.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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))