Maison > base de données > tutoriel mysql > Comment puis-je insérer efficacement un DataFrame Pandas dans une base de données MySQL ?

Comment puis-je insérer efficacement un DataFrame Pandas dans une base de données MySQL ?

DDD
Libérer: 2024-12-04 06:29:16
original
580 Les gens l'ont consulté

How Can I Efficiently Insert a Pandas DataFrame into a MySQL Database?

Insérer Pandas Dataframe dans la base de données via MySQLdb

La connexion à MySQL à l'aide de Python est simple et les opérations telles que l'insertion de lignes sont bien prises en charge. Cependant, lorsqu'il s'agit d'insérer une trame de données Pandas entière dans une table existante, la question se pose : l'insertion directe est-elle possible ou nécessite-t-elle une itération sur les lignes ?

Insertion directe à l'aide de to_sql

La méthode préférée pour insérer un dataframe dans MySQL consiste à utiliser to_sql méthode :

df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')
Copier après la connexion

Configuration de la connexion avec MySQLdb

Pour établir une connexion à MySQL à l'aide de MySQLdb, exécutez ce qui suit :

from pandas.io import sql
import MySQLdb

con = MySQLdb.connect()  # may need additional connection parameters
Copier après la connexion

Flavor et if_exists

Définition de la saveur de write_frame sur 'mysql' permet d'écrire sur MySQL. Le paramètre if_exists contrôle le comportement lorsque la table existe déjà, avec les options « échec », « remplacer » et « append ».

Exemple

Considérons un simple table avec les colonnes ID, data1 et data2, et un Pandas correspondant dataframe :

df = pd.DataFrame({'ID': [1, 2, 3], 'data1': ['a', 'b', 'c'], 'data2': [10, 20, 30]})
Copier après la connexion

L'insertion de ce dataframe dans la base de données à l'aide de la méthode to_sql ressemblerait à ceci :

sql.write_frame(df, con=con, name='example_table', if_exists='replace', flavor='mysql')
Copier après la connexion

Dans cet exemple, 'example_table' est le nom de la table dans la base de données, et « remplacer » signifie que la table existante sera remplacée par les données du dataframe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal