PaliSkill
Python avancé

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