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 ?

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 ?

DDD
DDDoriginal
2024-12-08 06:23:16515parcourir

Why Am I Getting an SQLite Reference Error When Using Pandas and SQLAlchemy to Write to a MySQL Database?

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 :

  1. 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)
  2. Établir une connexion using :

    cnx = engine.connect()
  3. 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!

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