2D タプル (または Numpy テーブルからのデータ) にデータがあり、それを SQL テーブルに挿入する必要があります。SQLite で Sqlalchemy Core を使用して、このデータをテーブルに効率的かつ簡単に挿入するにはどうすればよいですか?
@eclard から ie を取得します。
engine = sa.create_engine('sqlite://', echo=True)
metadata = sa.MetaData()
widgets_table = sa.Table('widgets', metadata,
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('bar', sa.String(50)),
sa.Column('biz', sa.Boolean),
sa.Column('baz', sa.Integer),
)
metadata.create_all(engine)
# Assuming this is the data where None holds place for primary key
my_data = [
(None, "Test", True, 3),
(None, "Test", True, 3),
]
これまでのところ、ドキュメントのこの時点にいます。ので、私は持っています;
engine.execute(widgets_table.insert().values((None, "Test", True, 3)))
これは機能します。しかし、次のように一度に多くの行を挿入したい
engine.execute(widgets_table.insert().values(((None, "Test", True, 3), (None, "Test", True, 3))))
しかし、エラーです。
現在のデータベース バージョン設定の 'sqlite' 方言は、複数行のインプレース挿入をサポートしていません。
また試してみました。
insert = widgets_table.insert()
engine.execute(insert, [
(None, "Test", True, 3),
(None, "Test", True, 3)
])
エラーあり。
AttributeError: 'tuple' オブジェクトに属性 'keys' がありません
最近SQLalchに改宗したので、ここで少し迷っています。