2016-09-23 2 views
1

私はいくつかのSQLを動的に構築して実行しており、データをテキスト形式で出力したいと考えています。raw SQLのsqlalchemy。どのように基本のcursor.descriptionにアクセスできますか?

これを行うには、sqlユーティリティで表示される典型的な、きれいな小さな円柱出力を提示することをお勧めします。

だから、
col1    column2_has_a_really_long_name 
_______________ ______________________________ 

has longer data 0.0 

、基本的には、COLWIDTH = MAX(LEN(COLNAME)、データサイズ))は(動的に生成さ%を使用して(colname1)各列は、テンプレートの種類を-20.20sどのくらいのパッドに教えてくれますここで、20はcol1のデータ化アプローチです)。

Python dbapi2は、この種の情報をhttps://www.python.org/dev/peps/pep-0249/#descriptionに保存します。

カーソルから取得する簡単な方法はありますかsqlalchemy.engine.result.ResultMetaDataインスタンスまたは実行可能なものからアクセス可能ですか?

答えて

2

根本DBAPIのカーソルはresult.cursorで入手できます。

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

しかし、私はResultMetaDataに周りではありません、実行からそれを拾う必要がありますか?十分に公正で、私はそれで生きることができます。 –

関連する問題