Maison >base de données >tutoriel mysql >Comment insérer efficacement des DataFrames Pandas dans des bases de données MySQL ?

Comment insérer efficacement des DataFrames Pandas dans des bases de données MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-06 13:56:12889parcourir

How to Efficiently Insert Pandas DataFrames into MySQL Databases?

Insérer des DataFrames Pandas dans des bases de données MySQL à l'aide de mysqldb

La requête

Vous souhaitez remplir efficacement une table existante au sein d'un Base de données MySQL avec les données d'un Pandas DataFrame. Le défi réside dans la compréhension si une insertion directe est réalisable ou si une itération sur les lignes est nécessaire.

Mise en œuvre

Insertion directe via la méthode 'to_sql'

Depuis la version 0.14 de Pandas, l'approche recommandée consiste à utiliser la méthode 'to_sql'. Cette méthode simplifie le processus en permettant l'insertion directe de DataFrames dans les tables SQL.

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

Configuration de la connexion à la base de données MySQL

import MySQLdb

con = MySQLdb.connect() # Configure your connection options here

Facultatif : Insertion itérative

Si une itération sur les lignes est souhaitée, la méthode 'write_frame' peut être utilisé avec le paramètre 'flavor' défini sur 'mysql'.

import pandas.io.sql as sql

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

Gestion des tables existantes

Le paramètre 'if_exists' détermine la manière dont l'insertion gère les tables existantes :

  • 'fail' : Ne pas insérer si le tableau est déjà existe.
  • 'replace' : supprimez et recréez le tableau avant de l'insérer.
  • 'append' : insérez-le dans le tableau s'il existe, ou créez-le s'il n'existe pas.

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