Home > Mobile >  Hide pandas warning: SQLAlchemy
Hide pandas warning: SQLAlchemy

Time:09-06

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.

CodePudding user response:

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.

CodePudding user response:

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.

  • Related