1
私はデータベースに存在する各テーブルのインスタンスを作成しようとするシンプルなSQLAlchemyのタスク、:SQLAlchemyの - ここで自動インスタンス化し、すべてのテーブル
from sqlalchemy import MetaData, create_engine, Table
engine = create_engine("here my engine details...")
metadata = MetaData()
私はengine.table_names()
を入力した場合、私はすべての私のテーブルの名前を見ることができます例えば、['indicators', 'prices', 'scripts']
である。
私は通常、次のようにそれらのそれぞれのインスタンスを作成するに行くだろう:
scripts = Table('scripts', metadata, autoload = True, autoload_with=engine)
indicators = Table('indicators', metadata, autoload = True, autoload_with=engine)
prices = Table('prices', metadata, autoload = True, autoload_with=engine)
しかし、明示的にそれらをコーディングすることなく、表のインスタンスを作成する方法はありますか?これを行う
:
tables = engine.table_names()
for table in tables:
table = Table(table , metadata, autoload = True, autoload_with=engine)
は明らかに動作しません。 ご意見はありがとうございます
待ち時間、なぜ機能しないのですか?私はちょうどそれを試みたし、それは正常に動作するように見えます。 – bernie
このようなテーブルのリストはどうですか: 'the_tables = [engine.table_names()のテーブルの[テーブル(テーブル、メタデータ、オートロード= True、autoload_with = engine)]' – bernie
@bernieテーブルは文字列なので最後の行で変数名と実際の文字列の両方として使用することはできませんか? TBH私もそのことについてちょっと混乱しています... –