2014-10-01 144 views
4

我有一个包含字典作为元素的列表。所有的字典都面对我的模式,是否有一种简单或有效的方式来在sqlalchemy中使用db来插入这些细节?使用sqlalchemy高效地插入字典列表

我的列表如下

[{id:'12',name:'a':lang:'eng},{id:'13',name:'b':lang:'eng},{id:'14',name:'c':lang:'eng}] 

,我有以下

id String(10) 
name String(10) 
lang String(10) 
+0

请参阅['执行多个语句'](http://docs.sqlalchemy.org/en/rel_0_9/core/tutorial.html#executing-multiple-statements)官方文档的一部分 – van 2014-10-01 13:07:50

回答

5

给出模式作为SQLAchemy documentation所述,您可以致电connection.execute()方法在你的table插入多条记录,使用table.insert()和您的记录列表,因为它的参数如下:

connection.execute(table.insert(), [ 
     {'id':'12','name':'a','lang':'eng'}, 
     {'id':'13','name':'b','lang':'eng'}, 
     {'id':'14','name':'c','lang':'eng'}, 
    ] 
) 

当然,假设您的table确实具有您的字典键中所述的那些列名称,并且您的值不会违反您可能已定义的任何约束条件。

+1

顺便说一下,字典钥匙应该被引用:) – cimarie 2016-11-21 20:05:43

+0

@cimarie我刚刚编辑了我的答案。非常感谢你! – tilacog 2016-11-21 21:14:36