pandas กับ SQL Query เบื้องต้น!
ในแบบฝึกหัดนี้ เราจะใช้ประโยชน์จาก pandas เพื่อบันทึกผลลัพธ์ของ SQL query ลงใน DataFrame ด้วยโค้ด Python เพียงบรรทัดเดียว!
เริ่มจาก import pandas และสร้าง SQLite engine สำหรับ 'Chinook.sqlite' จากนั้น query ฐานข้อมูลเพื่อดึงข้อมูลทุกแถวจากตาราง Album
ย้อนกลับไปดูตัวอย่าง ฮิวโก้ใช้คำสั่งต่อไปนี้เพื่อดึงข้อมูลทุกแถวจากตาราง Orders ในฐานข้อมูล Northwind:
df = pd.read_sql_query("SELECT * FROM Orders", engine)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การนำเข้าข้อมูล
คำแนะนำการฝึกหัด
- Import แพ็กเกจ
pandasโดยใช้ aliaspd - ใช้ฟังก์ชัน
create_engine()เพื่อสร้าง engine สำหรับฐานข้อมูล SQLiteChinook.sqliteแล้วกำหนดให้กับตัวแปรengine - ใช้ฟังก์ชัน
read_sql_query()ของpandasเพื่อกำหนดค่าให้กับตัวแปรdfเป็น DataFrame ของผลลัพธ์จาก query ต่อไปนี้: select ข้อมูล ทุกแถว from ตารางAlbum - โค้ดส่วนที่เหลือถูกเตรียมไว้ให้แล้วเพื่อตรวจสอบว่า DataFrame ที่สร้างด้วยวิธีนี้มีค่าเท่ากับ 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))