sqlalchemy打印结果而不是对象
问题内容:
我正在尝试使用以下代码将查询结果打印到控制台,但它始终向我返回对象位置。
test = connection.execute('SELECT EXISTS(SELECT 1 FROM "my_table" WHERE Code = 08001)')
print(test)
我得到的结果是- <sqlalchemy.engine.result.ResultProxy object at 0x000002108508B278>
如何打印出value
而不是对象?
我问的原因是因为我想使用该值进行比较测试。例如:
if each_item not in test:
# do stuffs
问题答案:
这样,test
包含查询返回的所有行。
如果您想要可以迭代的内容,可以使用fetchall
例如。像这样:
test = connection.execute('SELECT EXISTS(SELECT 1 FROM "my_table" WHERE Code = 08001)').fetchall()
然后,您可以遍历行列表。每行将包含所有字段。在您的示例中,您可以按字段位置访问字段。您在第一位置只有一个。这样便可以访问1
:
for row in test:
print(row[0])