← retour aux snippets

pandas: read_sql avec sqlite3

Lire depuis une base SQLite en mémoire.

python io #pandas#sqlite#sql

objectif

Lire depuis une base SQLite en mémoire.

code minimal

import pandas as pd, sqlite3
con = sqlite3.connect(":memory:")
con.execute("create table t(id int, v int)"); con.executemany("insert into t values(?,?)", [(1,10),(2,20)])
df = pd.read_sql("select * from t", con)
print(df["v"].sum())

utilisation

import pandas as pd, sqlite3
con = sqlite3.connect(":memory:")
pd.DataFrame({"x":[1,2]}).to_sql("tab", con, index=False)
print(pd.read_sql("select count(*) c from tab", con)["c"].iloc[0])

variante(s) utile(s)

import pandas as pd, sqlite3
con = sqlite3.connect(":memory:")
con.execute("create table a(x int)"); con.execute("create table b(x int)")
print(isinstance(pd.read_sql("select 1 as x", con), pd.DataFrame))

notes

  • Pratique pour requêtes locales et jointures rapides.