Maison >base de données >tutoriel mysql >Comment écrire des DataFrames Pandas sur MySQL à l'aide de la méthode « to_sql » de SQLAlchemy ?
É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!