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
DDDoriginal
2024-12-04 06:29:16581parcourir

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')

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

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]})

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')

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!

Déclaration:
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