Maison >base de données >tutoriel mysql >Comment puis-je insérer un DataFrame Pandas dans une base de données MySQL à l'aide de MySQLdb ?

Comment puis-je insérer un DataFrame Pandas dans une base de données MySQL à l'aide de MySQLdb ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-04 16:44:12918parcourir

How Can I Insert a Pandas DataFrame into a MySQL Database using MySQLdb?

Insérer un Pandas DataFrame dans une base de données à l'aide de MySQLdb

Question :

Est-il possible d'insérer directement un Pandas DataFrame entier dans une table MySQL existante utilisant MySQLdb ?

Réponse :

Oui, c'est possible en utilisant la fonction sql.write_frame fournie par Pandas.

Syntaxe mise à jour pour Pandas >= 0.14

Code :

df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')

Pour les Pandas < 0.14

Code :

import MySQLdb

con = MySQLdb.connect()  # Establish connection
sql.write_frame(df, con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')

Paramètres :

  • con : objet de connexion MySQLdb
  • name : Nom de la table dans la base de données pour insérer le DataFrame into
  • if_exists : Spécifie comment gérer si la table existe déjà. Peut être « échouer », « remplacer » ou « ajouter » (par défaut : « échouer »)
  • flavor : Spécifie la version SQL à utiliser, dans ce cas « mysql »

Exemple :

import pandas as pd
import MySQLdb

df = pd.DataFrame({
    'ID': [1, 2, 3],
    'Column1': ['Value1', 'Value2', 'Value3'],
    'Column2': [10, 20, 30]
})

con = MySQLdb.connect(...)

df.to_sql(con=con, name='example_table', if_exists='replace', flavor='mysql')

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