Lorsque vous utilisez sqlalchemy, vous devez passer le moteur et non la connexion brute :
engine = create_engine("mysql+mysqldb://...")
df.to_sql('demand_forecast_t', engine, if_exists='replace', index=False)
Écrire sur MySQL sans sqlalchemy (donc en spécifiant flavor='mysql'
) est obsolète.
Lorsque le problème est que vous avez un cadre trop grand pour écrire en une seule fois, vous pouvez utiliser le chunksize
mot-clé (voir la docstring
). Ex :
df.to_sql('demand_forecast_t', engine, if_exists='replace', chunksize=10000)