일단써
pandas 특수문자가 들어간 query가 있을 때
코타쿠
2022. 2. 18. 13:16
select format('%03d', 8);
과 같은 쿼리가 있으면
df = pandas.read_sql(query, engine)
했을 때, 오류가 난다.
TypeError: %d format: a number is required, not dict
% 문자가 escaping이 안되고 인자로 받아져서 일어나는 문제인 것 같다.
이럴 땐 먼저 sqlalchemy
의 text
를 사용해주면 된다.
from sqlalchemy import text
...
df = pandas.read_sql(text(query), engine)
그럼 잘 된다.