pandas dataframe a mysql db error base de datos sabor mysql no es compatible

Tengo una tabla en pandas dataframe df.

product_id_x product_id_y count date 0 288472 288473 1 2016-11-08 04:02:07 1 288473 2933696 1 2016-11-08 04:02:07 2 288473 85694162 1 2016-11-08 04:02:07 

Quiero guardar esta tabla en la base de datos mysql.

Estoy usando el paquete MySQLdb.

 import MySQLdb conn = MySQLdb.connect(host="xxx.xxx.xx.xx", user="name", passwd="pwd", db="dbname") df.to_sql(con = conn, name = 'sample_insert', if_exists = 'append', flavor = 'mysql', index = False) 

Utilicé esta consulta para ponerla en mi db.

pero estoy recibiendo error.

 ValueError: database flavor mysql is not supported 

mi tipo de datos es str para todas las columnas.

 type(df['product_id_x'][0]) = str type(df['product_id_y'][0]) = str type(df['count'][0]) = str type(df['date'][0]) = str 

No quiero usar sqlalchemy u otros paquetes, ¿alguien puede decir cuál es el error aquí? Gracias por adelantado

El sabor ‘mysql’ está en desuso en la versión 0.19 de pandas. Tienes que usar el motor de sqlalchemy para crear la conexión con la base de datos.

 from sqlalchemy import create_engine engine = create_engine("mysql+mysqldb://USER:"+'PASSWORD'+"@localhost/DATABASE") df.to_sql(con=engine, if_exists='append', index=False) 

Al definir su motor, debe especificar su usuario, contraseña, host y base de datos. En tu caso específico, esto debería verse como:

 engine = create_engine("mysql+mysqldb://name:pwd@xxx.xxx.xx.xx/dbname") 

Parece que la opción que está utilizando para el flavor ya no existe. Un breve vistazo a los documentos confirma esto:

sabor : ‘sqlite’, por defecto Ninguno

DEPRECATED: este parámetro se eliminará en una versión futura, ya que ‘sqlite’ es la única opción compatible si SQLAlchemy no está instalado.