sqlalchemy print results instead of objects

20,835

Like this, test contains all the rows returned by your query.

If you want something you can iterate over, you can use fetchall for example. Like this:

test = connection.execute('SELECT EXISTS(SELECT 1 FROM "my_table" WHERE Code = 08001)').fetchall()

Then you can iterate over a list of rows. Each row will contain all the fields. In your example you can access fields by their position. You only have one at position one. So that's how you can access 1:

for row in test:
    print(row[0])
Share:
20,835
jake wong
Author by

jake wong

Updated on September 06, 2021

Comments

  • jake wong
    jake wong almost 3 years

    I am trying to print the results of my query to the console, with the below code, but it keeps returning me the object location instead.

    test = connection.execute('SELECT EXISTS(SELECT 1 FROM "my_table" WHERE Code = 08001)')
    print(test)
    

    Result that I get is - <sqlalchemy.engine.result.ResultProxy object at 0x000002108508B278>

    How do I print out the value instead of the object?

    Reason I am asking is because I want to use the value to do comparison tests. EG:

    if each_item not in test:
        # do stuffs
    
  • jake wong
    jake wong over 7 years
    Hmm, This returns me 0. Not sure why
  • jake wong
    jake wong over 7 years
    Okay. I think I know why. it is stored in SQL as a string so, that is the reason why it returned 0 :)
  • sandor
    sandor over 7 years
    It makes sense, if it would be a number you wouldn't have a leading zero. When i reproduced the issue, I used a number, not a string.