När du använder sqlalchemy ska du passera motorn och inte den råa anslutningen:
engine = create_engine("mysql+mysqldb://...")
df.to_sql('demand_forecast_t', engine, if_exists='replace', index=False)
Skriva till MySQL utan sqlalchemy (så med att specificera flavor='mysql' ) är utfasad.
När problemet är att du har en för stor ram för att skriva på en gång kan du använda chunksize sökord (se doksträngen
). T.ex.:
df.to_sql('demand_forecast_t', engine, if_exists='replace', chunksize=10000)