sqlalchemy print results instead of objects
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])
jake wong
Updated on September 06, 2021Comments
-
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 over 7 yearsHmm, This returns me
0
. Not sure why -
jake wong over 7 yearsOkay. I think I know why. it is stored in SQL as a
string
so, that is the reason why it returned0
:) -
sandor over 7 yearsIt 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 astring
.