Maksim Khaitovich
Maksim Khaitovich

Reputation: 4792

PyMySQL with Python 3.5 - selecting into pandas dataframe with the LIKE clause fails due to escape characters?

I am using PyMySQL to fetch some data from the MySQL DB into pandas dataframe. I need to run a select with the LIKE clause, but seems like PyMySQL does something weird with the select statement and doesn't like when one has % in the query:

#connection to MySQL
engine = create_engine('mysql+pymysql://user:password@localhost:1234/mydb', echo=False)
#get descriptions we want
decriptions = pd.read_sql(sql=r"select content from listings where content not like '%The Estimate%'", con = engine)

I get error:

ValueError: unsupported format character 'T' (0x54) at index 54

Any advice on how to get around this?

Upvotes: 1

Views: 924

Answers (1)

ScaisEdge
ScaisEdge

Reputation: 133380

Try using %%

decriptions = pd.read_sql(sql=r"select content 
         from listings where content not like '%%The Estimate%'", con = engine)

Upvotes: 4

Related Questions