Maison >base de données >tutoriel mysql >Comment écrire des DataFrames Pandas sur MySQL à l'aide de la méthode « to_sql » de SQLAlchemy ?

Comment écrire des DataFrames Pandas sur MySQL à l'aide de la méthode « to_sql » de SQLAlchemy ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-30 13:26:10911parcourir

How to Write Pandas DataFrames to MySQL using SQLAlchemy's `to_sql` Method?

Écrire des trames de données Pandas sur MySQL à l'aide de la méthode to_sql de SQLAlchemy

Cette question aborde le défi de l'écriture d'une trame de données Pandas sur une table MySQL à l'aide de to_sql de SQLAlchemy méthode. L'utilisateur a rencontré des erreurs en essayant d'utiliser la syntaxe obsolète 'flavor='mysql'' et a souhaité passer à l'utilisation d'un moteur SQLAlchemy.

L'approche correcte consiste à utiliser la fonction create_engine de SQLAlchemy pour établir une connexion à la base de données MySQL en utilisant le dialecte mysql mysqlconnector. Cette connexion doit ensuite être passée en paramètre con à la méthode to_sql.

import pandas as pd
from sqlalchemy import create_engine

engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False)
data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)

Initialement, l'utilisateur a tenté d'utiliser la méthode raw_connection() pour obtenir une connexion, mais cela a entraîné une erreur indiquant une tentative utiliser SQLite au lieu de MySQL. En spécifiant l'objet moteur directement comme argument con, le problème a été résolu.

import pandas as pd
from sqlalchemy import create_engine

data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)

L'utilisateur a également rencontré une AttributeError en essayant de passer le moteur comme argument con, car l'objet moteur n'a pas d'attribut de curseur. En utilisant la fonction create_engine pour établir la connexion MySQL, l'objet de connexion approprié est fourni, permettant à la méthode to_sql de s'exécuter avec succès.

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