Maison >base de données >tutoriel mysql >Puis-je insérer directement un DataFrame Pandas dans MySQL à l'aide de mysqldb ?

Puis-je insérer directement un DataFrame Pandas dans MySQL à l'aide de mysqldb ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-05 20:42:17643parcourir

Can I Directly Insert a Pandas DataFrame into MySQL Using mysqldb?

Insertion d'un Dataframe Pandas dans une base de données MySQL à l'aide de mysqldb

Question :

Mysqldb peut-il être utilisé pour insérer directement un compléter la trame de données Pandas dans une table MySQL existante, ou nécessite-t-il une itération sur la trame de données lignes ?

Réponse :

Oui, mysqldb peut être utilisé pour insérer une trame de données dans une table MySQL existante sans avoir besoin d'itération de ligne. Voici comment procéder :

Importer des bibliothèques et établir une connexion MySQL :

from pandas.io import sql
import MySQLdb

# Connect to MySQL database
con = MySQLdb.connect(host="localhost", user="root", password="password", database="your_database")

Insérer une trame de données dans une table :

Vous pouvez utiliser la fonction sql.write_frame de Pandas pour écrire le dataframe dans MySQL table.

# Create a dataframe
df = pd.DataFrame({'ID': [1, 2, 3], 'Data1': [4, 5, 6], 'Data2': [7, 8, 9]})

# Write dataframe to table
sql.write_frame(df, con=con, name='your_table_name', if_exists='replace', flavor='mysql')

Dans le code ci-dessus :

  • con : Représente la connexion MySQL établie.
  • name : Nom de la table dans la base de données dans laquelle le dataframe doit être inséré.
  • if_exists : définit comment gérer une table existante. Les options sont « échouer », « remplacer » et « ajouter ». 'replace' supprime la table existante et la recrée avec les données du dataframe.
  • flavor : Spécifie la version de la base de données, dans ce cas, 'mysql'.

Utilisation de l'option Méthode to_sql :

Vous pouvez également utiliser la nouvelle méthode to_sql dans Pandas :

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

Remarques :

  • L'argument de saveur doit être défini sur « mysql » pour être inséré dans une base de données MySQL.
  • L'argument if_exists peut être défini sur « échec » pour générer une erreur si la table existe déjà, « remplacer » pour supprimer et recréer la table, ou 'append' pour insérer dans une table existante.
  • MySQLdb est recommandé pour les versions 2.7 et 3.5 de Python. Pour Python 3.6 et supérieur, pensez à utiliser PyMySQL ou mysqlclient.

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