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
etcol2
). - Engine SQLite : Une connexion à une base de données SQLite est établie.
- Stockage dans SQL : Le DataFrame
df
est stocké dans la tablema_table
de la base de donnéesbase_de_donnees.db
. Si la table existe déjà, elle sera remplacée.