Python - Read & Write tables from PostgreSQL with Security

Python - Read & Write tables from PostgreSQL with Security

Gist Page : example-python-read-and-write-from-postgresql

Common part

Requirements

Install sqlalchemy default Python-PostgreSQL driver : psycopg2

It's possible to use another driver if needed

pip3 install psycopg2

Libraries dependency

import pandas as pd from sqlalchemy import create_engine

PostgreSQL Connection

SQLAlchemy PostgreSQL URI with default driver looks like this : 'postgresql://user:password@host_ip:port/database'

Connection

# ====== Connection ====== # Connecting to PostgreSQL by providing a sqlachemy engine engine = create_engine('postgresql://'+os.environ['POSTGRESQL_USER']+':'+os.environ['POSTGRESQL_PASSWORD']+'@'+os.environ['POSTGRESQL_HOST_IP']+':'+os.environ['POSTGRESQL_PORT']+'/'+os.environ['POSTGRESQL_DATABASE'],echo=False)

How to create a table in PostgreSQL with Python ?

Code example

# ====== Writing table ====== # # Creating a simple pandas DataFrame with two columns liste_hello = ['hello1','hello2'] liste_world = ['world1','world2'] df = pd.DataFrame(data = {'hello' : liste_hello, 'world': liste_world}) # Writing Dataframe to PostgreSQL and replacing table if it already exists df.to_sql(name='helloworld', con=engine, if_exists = 'replace', index=False)

How to query a table from PostgreSQL with Python ?

Code example

# ====== Reading table ====== # Reading PostgreSQL table into a pandas DataFrame data = pd.read_sql('SELECT * FROM helloworld', engine)