Leçon 6 / 10 — Chapitre 10: Mise en pratique : pipeline d'analyse de données
Interroger la base SQLite
Sixième étape : relire les données stockées, avec SELECT (déjà vu dans les modules SQL de ce catalogue) — la table SQLite créée à la leçon précédente devient ici la source de données.
import sqlite3
connexion = sqlite3.connect("ventes.db")
curseur = connexion.cursor()
curseur.execute("SELECT * FROM ventes WHERE montant > 20")
resultats = curseur.fetchall()
for ligne in resultats:
print(ligne)
connexion.close()
curseur.fetchall() récupère toutes les lignes correspondant à la requête, sous forme de liste de tuples — chaque tuple représentant une ligne, dans l'ordre des colonnes de la table (produit, categorie, montant, ici).
fetchone() récupère une seule ligne à la fois (ou None si épuisé), utile quand on sait qu'une requête ne renvoie qu'un seul résultat :
curseur.execute("SELECT COUNT(*) FROM ventes")
total = curseur.fetchone()
print(total[0])
Ce code affiche le nombre total de lignes de la table : fetchone() renvoie un tuple à un seul élément ((3,), par exemple), dont [0] extrait la valeur elle-même — l'indexation d'un tuple, déjà vue dans Python Débutant.
Pandas peut aussi lire directement une requête SQL avec pd.read_sql(), pour retrouver un DataFrame plutôt qu'une liste de tuples :
import pandas as pd
df = pd.read_sql("SELECT * FROM ventes", connexion)
À vous de jouer : interrogez une table SQLite avec un WHERE, et parcourez les résultats de fetchall() avec une boucle for.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 87 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès