如果使用普通sql查询,python sqlalchemy将计算结果行数

2024-09-30 22:18:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python 3.9和sqlalchemy 1.4.18

engine = create_engine('sqlite:///somedatabase.sqlite', echo=False)
query = """SELECT ...
    FROM ...
    LEFT JOIN ...
    WHERE ..."""
with engine.connect() as con:
    result = con.execute(query)

如何计算变量result在Python代码中包含的行数?我不想在SQL中使用COUNT()。 与

print(dir(result))

我发现有一个rowcount,但是它总是有值-1

变量result的类型为LegacyCursorResult。在哪里可以找到此类的完整文档? 官方文档(可能)只提到了close()方法: https://docs.sqlalchemy.org/en/14/core/connections.html?highlight=legacycursorresult#sqlalchemy.engine.LegacyCursorResult

非常感谢,如果有人能帮忙的话


Tags: from文档echofalsesqlitesqlalchemycreatesome
1条回答
网友
1楼 · 发布于 2024-09-30 22:18:42

使用SQLAlchemy 1.4+,可以使用^{}以列表的形式获取结果,然后调用len

rows = result.all()
count = len(rows)

相关问题 更多 >