python:从字符串中删除引号以作为命令执行,或将字符串值映射到键

python:从字符串中删除引号以作为命令执行,或将字符串值映射到键,python,mongodb,pymongo,ordereddictionary,Python,Mongodb,Pymongo,Ordereddictionary,通过上面的查询,我从SQLServer到Python元组获取数据。我正在将此数据转换为OrderedDict()列表,然后使用pymongo中的insert\u many将数据推送到mongodb。 要将SQL列映射到mongo列,我有一个OrderedDict(cols),如下所示 sqlCur.execute('SELECT TOP 10 '+fld+cc.joins+cc.where,custo) tub=sqlCur.fetchall() 但是,在结果中,我看到的是列名而不是值,因为列

通过上面的查询,我从SQLServer到Python元组获取数据。我正在将此数据转换为
OrderedDict()
列表,然后使用
pymongo
中的
insert\u many
将数据推送到mongodb。
要将SQL列映射到mongo列,我有一个
OrderedDict(cols)
,如下所示

sqlCur.execute('SELECT TOP 10 '+fld+cc.joins+cc.where,custo)
tub=sqlCur.fetchall()
但是,在结果中,我看到的是列名而不是,因为列表
lst
列名作为字符串,但它需要与不带引号的mongoColumns映射

如何实现这一点呢?还是有更好的方法来处理这个问题?< BR> BTW,我在<强> Python 3.6 /P>> P>尝试这个,考虑蒙哥尔科尔为Mango DB集合的列(它是示例,您可以用自己的Mango DB集合模式更改)

Mongo数据库-进程

mongo_cols = ("name","id","status")

values = [("GoDad", 73399, "C"), ("GoDad", 73483, "I")]

keys_values_insert =[dict(zip(mongo_cols, k)) for k in values]

print (keys_values_insert) # [{'status': 'C', 'name': 'GoDad', 'id': 73399}, {'status': 'I', 'name': 'GoDad', 'id': 73483}]

您可以共享哪个sqlCur的示例数据吗returns@GThamizh:我知道它有一个元组列表,比如[('GoDad',73399,'C'),('GoDad',73483,'I')]
mongo_cols = ("name","id","status")

values = [("GoDad", 73399, "C"), ("GoDad", 73483, "I")]

keys_values_insert =[dict(zip(mongo_cols, k)) for k in values]

print (keys_values_insert) # [{'status': 'C', 'name': 'GoDad', 'id': 73399}, {'status': 'I', 'name': 'GoDad', 'id': 73483}]
> db.products.insert([{'status': 'C', 'name': 'GoDad', 'id': 73399}, {'status': 'I', 'name': 'GoDad', 'id': 73483}])
> 
>  
> db.products.find()
{ "_id" : ObjectId("5967be93162ab4d87801d2ea"), "status" : "C", "name" : "GoDad", "id" : 73399 }
{ "_id" : ObjectId("5967be93162ab4d87801d2eb"), "status" : "I", "name" : "GoDad", "id" : 73483 }