Stocker un DataFrame dans une base de données SQL avec to_sql()

La méthode to_sql() de pandas permet de stocker un DataFrame dans une base de données SQL en créant une table avec les données du DataFrame. Cette méthode peut être utilisée pour insérer ou mettre à jour les données dans une table de la base de données. Description simple : Utilisation de to_sql() pour transférer les données d’un DataFrame pandas vers une base de données SQL. La méthode prend plusieurs paramètres comme le nom de la table dans la base de données, le moteur SQL, et des options pour gérer l’écriture (par exemple, ajouter des lignes ou remplacer une table existante).

Fonctions :

  • to_sql()

    La méthode to_sql() de pandas permet d'envoyer un DataFrame directement dans une table d'une base de données SQL. Cela facilite l'intégration des données de pandas avec les bases de données relationnelles sans avoir à écrire des requêtes SQL manuellement.

    Importation :

    import pandas as pd
    from sqlalchemy import create_engine

    Attributs :

    • 'nom_de_table' : Le nom de la table dans la base de données où le DataFrame sera stocké.
    • con=engine : L'engine de connexion à la base de données créé avec SQLAlchemy. C'est l'argument qui spécifie la connexion à la base de données.
    • index=False : Cette option permet de spécifier si l'index du DataFrame doit être écrit comme une colonne dans la table. False signifie que l'index ne sera pas stocké comme colonne.
    • if_exists='replace' : Ce paramètre détermine ce qui se passe si la table existe déjà :
      • 'replace' : Remplace la table existante.
      • 'append' : Ajoute les données à la table existante sans la remplacer.
      • 'fail' : Lève une erreur si la table existe déjà.

    Exemple de code :

    import pandas as pd
    from sqlalchemy import create_engine
    
    # Exemple de DataFrame
    data = {'col1': [1, 2, 3], 'col2': ['A', 'B', 'C']}
    df = pd.DataFrame(data)
    
    # Créer une connexion à la base de données SQLite
    engine = create_engine('sqlite:///base_de_donnees.db')
    
    # Stocker le DataFrame dans la table 'ma_table' de la base de données
    df.to_sql('ma_table', con=engine, index=False, if_exists='replace')

    Explication du code :

    • DataFrame (df) : Un petit DataFrame est créé avec deux colonnes (col1 et col2).
    • Engine SQLite : Une connexion à une base de données SQLite est établie.
    • Stockage dans SQL : Le DataFrame df est stocké dans la table ma_table de la base de données base_de_donnees.db. Si la table existe déjà, elle sera remplacée.