Когато използвате sqlalchemy, трябва да подадете двигателя, а не необработената връзка:
engine = create_engine("mysql+mysqldb://...")
df.to_sql('demand_forecast_t', engine, if_exists='replace', index=False)
Писане в MySQL без sqlalchemy (така че с указване на flavor='mysql'
) е остарял.
Когато проблемът е, че имате твърде голям кадър за запис наведнъж, можете да използвате chunksize
ключова дума (вижте документален низ
). Напр.:
df.to_sql('demand_forecast_t', engine, if_exists='replace', chunksize=10000)