对原始sql的Sqlalchemy.如何访问底层游标



我正在动态地构建和执行一些SQL,并希望以文本形式输出数据。

要做到这一点,我更愿意提供一个整洁的小列输出,典型的sql实用程序。

col1              column2_has_a_really_long_name
_______________   ______________________________
has longer data   0.0

因此,基本上,colwidth = max(len(colname), datasize))将告诉每个列填充多少(使用动态生成的%(colname1)-20.20s类型的模板,其中20将是col1的datasize方法)。

Python dbapi2将这种信息存储在https://www.python.org/dev/peps/pep-0249/#description上。

是否有一种简单的方法可以从sqlalchemy.engine.result获取cursor.description。ResultMetaData实例或其他可从执行访问的东西?

底层DBAPI游标在result.cursor:

result = session.execute("SELECT * FROM foo")
print(result.cursor.description)

最新更新