Al usar sqlalchemy, debe pasar el motor y no la conexión sin formato:
engine = create_engine("mysql+mysqldb://...")
df.to_sql('demand_forecast_t', engine, if_exists='replace', index=False)
Escribiendo en MySQL sin sqlalchemy (es decir, especificando flavor='mysql'
) está en desuso.
Cuando el problema es que tiene un marco demasiado grande para escribir a la vez, puede usar el chunksize
palabra clave (ver docstring
). Por ejemplo:
df.to_sql('demand_forecast_t', engine, if_exists='replace', chunksize=10000)