From 2fed3030ac1207033437774e4a8759c4b08f3dc0 Mon Sep 17 00:00:00 2001 From: michivonah Date: Sun, 27 Aug 2023 20:13:49 +0200 Subject: [PATCH] create db functions script for postgresql --- sql/dbfunctions.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 sql/dbfunctions.py diff --git a/sql/dbfunctions.py b/sql/dbfunctions.py new file mode 100644 index 0000000..411cbd9 --- /dev/null +++ b/sql/dbfunctions.py @@ -0,0 +1,40 @@ +# DB Functions for PostgreSQL +# install pip3 install psycopg2 +from dotenv import load_dotenv +import os +import psycopg2 +import pandas as pd + +# load enviromental variables +load_dotenv() + +# Create a connection to database +def connectDatabase(): + conn = psycopg2.connect( + host=os.getenv('DBHOST'), + database=os.getenv('DBNAME'), + user=os.getenv('DBUSER'), + password=os.getenv('DBPASSWORD'), + port=os.getenv('DBPORT'),) + conn.autocommit = True + cursor = conn.cursor() + return cursor + +def executeQuery(query): + conn = connectDatabase() + conn.execute(query) + result = conn.fetchall() + return result + +def executeWithoutFetch(query): + conn = connectDatabase() + conn.execute(query) + return None + +def loadTable(query): + conn = connectDatabase() + conn.execute(query) + result = conn.fetchall() + colnames = [desc[0] for desc in conn.description] + df = pd.DataFrame(result, columns=colnames) + return df \ No newline at end of file