PaliSkill
Python avancé

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