Hide pandas warning: SQLAlchemy

Question:

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.

Asked By: Osca

||

Answers:

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.

Answered By: Timothy

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.

Answered By: Osca

Using the following worked well for me:

import warnings

warnings.filterwarnings('ignore').

I am using pandas with pyodbc and was previously getting the same warning.

Answered By: Mattdroidvita123
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.