Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đọc dữ liệu từ SQL Database (SQLite) vào DataFrame Python pandas

Giả sử bạn có database SQLite db.sqlite3 với bảng student và muốn đọc toàn bộ dữ liệu vào DataFrame.

Giải pháp

  • Kết nối: sqlite3.connect('db.sqlite3').
  • Đọc SQL: pd.read_sql_query('SELECT * FROM student', con).

Mã ví dụ

import pandas as pd
import sqlite3

# Tạo DB mẫu để demo
con = sqlite3.connect(':memory:')  # DB trong RAM
cursor = con.cursor()
cursor.execute("CREATE TABLE student (Id INT, Name TEXT)")
cursor.executemany("INSERT INTO student VALUES (?, ?)", [(1,'stud1'),(2,'stud2'),(3,'stud3'),(4,'stud4'),(5,'stud5')])
con.commit()

# Đọc vào DataFrame
df = pd.read_sql_query("SELECT * FROM student", con)
print(df)

con.close()

Kết quả

   Id   Name
0   1  stud1
1   2  stud2
2   3  stud3
3   4  stud4
4   5  stud5

Lưu ý:

  • read_sql_query cho câu lệnh SELECT. read_sql_table cho tên bảng.
  • Hỗ trợ nhiều DB: PostgreSQL, MySQL, SQL Server, Oracle (cần driver: psycopg2, pymysql, pyodbc, cx_Oracle).
  • Đóng kết nối sau khi dùng: con.close() hoặc dùng with.
  • Chunking cho dữ liệu lớn: chunksize=10000.