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

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

Barbara Streisand
Barbara Streisandoriginal
2024-12-06 05:34:11392parcourir

How to Insert a Pandas DataFrame into a MySQL Database Using MySQLdb?

Insertion du cadre de données Pandas dans la base de données via MySQLDB

Question :

Comment pouvons-nous insérer directement une trame de données pandas entière dans une table de base de données MySQL existante en utilisant MySQLdb?

Réponse :

En utilisant la méthode write_frame du module pandas.io.sql, vous pouvez insérer un dataframe dans MySQL comme suit :

sql.write_frame(df, con=con, name='table_name', if_exists='replace', spice='mysql')

où :

  • df est la trame de données pandas à insérer.
  • con est un Objet de connexion MySQLdb.
  • name est le nom de la table à insérer into.
  • if_exists précise comment gérer une table existante :

    • 'fail' : ne faites rien si la table existe.
    • 'replace' : Supprimez la table et recréez-la avant d'insérer des données.
    • 'append' : Insérez des données dans la table existante si elle existe, sinon créez it.

Utilisation de la méthode to_sql :

La méthode préférée pour insérer des dataframes dans des bases de données SQL est désormais to_sql :

df.to_sql(con=con, name='table_name', if_exists='replace', spice='mysql')

Configuration de la connexion MySQLdb :

Établissez une connexion à MySQL à l'aide de MySQLdb :

depuis pandas.io import sql
import MySQLdb

con = MySQLdb.connect()

Exemple de code :

Pour une table avec ID, data1 et data2 colonnes, le script Python pour insérer le dataframe correspondant serait :

importer des pandas en tant que pd
import MySQLdb

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

con = MySQLdb.connect()
sql.write_frame(df, con=con, name='table_name', if_exists='replace', spice='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