Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une erreur de référence SQLite lorsque j'utilise Pandas et SQLAlchemy pour écrire dans une base de données MySQL ?
Erreur lors de l'écriture dans la base de données MySQL avec Pandas et SQLAlchemy
Lors de la tentative d'écriture d'une trame de données Pandas dans une table MySQL à l'aide de la méthode to_sql de SQLAlchemy, une erreur courante est de rencontrer une référence à SQLite malgré l'utilisation de MySQL. Ce problème peut survenir en raison de l'utilisation du paramètre spice='mysql' lors de la création du moteur SQLAlchemy.
Dépréciation du paramètre 'flavor'
The spice=' Le paramètre mysql est obsolète au profit de l'utilisation du paramètre dialect. L'utilisation correcte est :
engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', dialect='mysql', echo=False)
Utilisation correcte de la connexion SQLAlchemy
Pour établir une connexion avec MySQL à l'aide de mysqlconnector, vous devez utiliser :
cnx = engine.connect()
Au lieu de raw_connection(), obsolète.
Résoudre le Erreur
Pour résoudre l'erreur qui fait référence à SQLite, suivez les étapes suivantes :
Mettez à jour la création du moteur pour utiliser le dialecte correct :
engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', dialect='mysql', echo=False)
Établir une connexion using :
cnx = engine.connect()
Utilisez l'objet cnx pour effectuer des opérations SQL. Par exemple, pour écrire un dataframe :
data.to_sql(name='sample_table2', con=cnx, if_exists='append', index=False)
En suivant ces étapes, vous pouvez réussir à écrire dans une base de données MySQL à l'aide de Pandas et SQLAlchemy.
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!