How to select a data like 100 without [(100),] from postgresql using python?

Viewed 36

I have a table that has only 1 row, I only need to update the data in the first row. I need to preview the data at the startup like Total Wealth :- 2000 Cash :- 0 Savings :- 2000. But it previews like shown below. enter image description here So please give me a solution for this.

from tkinter import *
import psycopg2

try:
    connection = psycopg2.connect(user="postgres",
                              password="postgres",
                              host="localhost",
                              port="5432",
                              database="money_db")
    cursor = connection.cursor()

    query_cash = "select cash from main where index = 1;"
    query_savings = "select savings from main where index = 1;"

    cursor.execute(query_cash)
    cash = cursor.fetchall()


    cursor.execute(query_savings)
    savings = cursor.fetchall()


    t_w = (cash + savings)

    cursor.execute("commit;")
    if (connection):
        cursor.close()
        connection.close()
        print("PostgreSQL connection is closed")
except (Exception, psycopg2.Error) as error:
    print("Error while fetching data from PostgreSQL", error)

root = Tk()
root.geometry("900x500")
root.resizable(width=False, height=False)

t_w_lbl = Label(text="Total Wealth = " + str(t_w), font=("Calibry", 14), bg="white")
t_w_lbl.place(rely=0.04, relx=0.1)

cash_lbl = Label(text="Cash = " + str(cash), font=("Calibry", 14), bg="white")
cash_lbl.place(rely=0.04, relx=0.45)

photo = PhotoImage(file = "exchange.png")
exchange_btn = Button(image = photo, command = lambda: exchange())
exchange_btn.place(relx = 0.64, rely = 0.03, height = 35, width = 50)

savings_lbl = Label(text="Savings = " + str(savings), font=("Calibry", 14), bg="white")
savings_lbl.place(rely=0.04, relx=0.8)`
1 Answers

You should use the fetchone method instead and unpack the returning tuple (note the added comma).

Change:

cash = cursor.fetchall()
...
savings = cursor.fetchall()

to:

cash, = cursor.fetchone()
...
savings, = cursor.fetchone()
Related