Hide pandas warning: SQLAlchemy

Viewed 262

I want to hide this warning UserWarning: pandas only support SQLAlchemy connectable(engine/connection) ordatabase string URI or sqlite3 DBAPI2 connectionother DBAPI2 objects are not tested, please consider using SQLAlchemy and I've tried

import warnings
warnings.simplefilter(action='ignore', category=UserWarning)

import pandas

but the warning still shows.

My python script read data from databases. I'm using pandas.read_sql for SQL queries and psycopg2 for db connections.

Also I'd like to know which line triggers the warning.

2 Answers

It seems I cannot disable the pandas warning, so I used SQLAlchemy (as the warning message wants me to do so) to wrap the psycopg2 connection.

I followed the instruction here: SQLAlchemy for psycopg2 documentation

A simple example:

import psycopg2
import sqlalchemy
import pandas as pd

conn = sqlalchemy.create_engine(f"postgresql+psycopg2://{user}:{pw}@{host}:{port}/{db}")

query = "select count(*) from my_table"

pd.read_sql(query, conn)

The warning doesn't get triggered anymore.

The warnings that you're filtering right now are warnings of type FutureWarning. The warning that you're getting is of type UserWarning, so you should change the warning category to UserWarning. I hope this answers your question regarding why pandas is giving that warning.

Related