Leçon 9 / 10 — Chapitre 10: Mise en pratique : pipeline d'analyse de données
Automatiser le pipeline en une fonction
Neuvième étape : rassembler récupération, nettoyage et stockage dans une seule fonction réutilisable, pour ne pas répéter ces étapes à chaque nouvelle analyse.
import requests
import pandas as pd
import sqlite3
def recuperer_et_stocker(url, chemin_db="ventes.db"):
reponse = requests.get(url, timeout=5)
reponse.raise_for_status()
donnees = reponse.json()
df = pd.DataFrame(donnees)
df = df.dropna(subset=["montant"])
df = df[df["montant"] > 0]
connexion = sqlite3.connect(chemin_db)
df.to_sql("ventes", connexion, if_exists="replace", index=False)
connexion.close()
return df
df = recuperer_et_stocker("https://api.exemple.com/ventes")
print(len(df), "ventes stockees")
df.to_sql("ventes", connexion, if_exists="replace", index=False) écrit directement un DataFrame entier dans une table SQLite, sans boucle INSERT manuelle (vue à la cinquième leçon de ce chapitre) : if_exists="replace" recrée la table à chaque appel plutôt que d'y ajouter des doublons, et index=False évite d'ajouter une colonne d'index superflue.
Cette fonction combine tout : requête API (vue au septième chapitre), nettoyage (vu dans ce chapitre), et stockage — un seul appel remplace désormais toute une série d'étapes répétées manuellement.
À vous de jouer : décrivez, en une phrase, pourquoi if_exists="replace" évite les doublons si recuperer_et_stocker est appelée plusieurs fois de suite.
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