I have the following line of code that keeps giving me an error that Engine object has no object execute. I think I have everything right but no idea what keeps happening. It seemed others had this issue and restarting their notebooks worked. I’m using Pycharm and have restarted that without any resolution. Any help is greatly appreciated!
import pandas as pd
from sqlalchemy import create_engine, text
import sqlalchemy
import pymysql
masterlist = pd.read_excel('Masterlist.xlsx')
user = 'root'
pw = 'test!*'
db = 'hcftest'
engine = create_engine("mysql+pymysql://{user}:{pw}@localhost:3306/{db}"
.format(user=user, pw=pw, db=db))
results = engine.execute(text("SELECT * FROM companyname;"))
for row in results:
print(row)
2
Answers
There was a change from 1.4 to 2.0. The above code will run fine with sqlalchemy version 1.4 I believe. setting
SQLALCHEMY_WARN_20=1 python
and running the above code reveals this warning:So the correct way to do the code now is:
source here describing the behavior in 1.4 and here describing the behavior in 2.0