我想从Python字典中将数据插入到表中。但是我的字典包含的键比表中的列更多。因此,插入时会出现错误 sqlalchemy.exc.CompileError:未使用的列名:column_name
。我只想插入存在于表中的列名并忽略额外的列。
如何使用sqlalchemy实现这一点?
我正在使用的代码是
from sqlalchemy import *
from sqlalchemy.dialects import postgresql
db = create_engine('postgresql+psycopg2://localhost:5432/postgres')
meta = MetaData()
meta.bind = db
data = [{
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5,
'f': 6
}]
ins_stmt = postgresql.insert(table_object).values(data)
db.execute(ins_stmt)
我的table_object
包含列a、b、c、d和e。
P.S. - 我正在使用sqlalchemy 1.4
k
在d.keys()
中总是存在的,所以在这里不需要使用&
。 - Mattwmaster58