found solution here: The type of <field> is not a SQLAlchemy type with Pandas to_sql to an Oracle database
pd.DataFrame({'col1':['a','b','c','dd'], 'col2':[11,22,33,44]}).to_sql(
name='test',
con=con,
if_exists='append',
index=None,
dtype={'col1':types.VARCHAR(length=20)})
con.commit()