【发布时间】:2017-07-13 06:01:53
【问题描述】:
sqlCur.execute('SELECT TOP 10 '+fld+cc.joins+cc.where,custo)
tub=sqlCur.fetchall()
通过上述查询,我将数据从 SQL Server 获取到 Python 元组。我正在将此数据转换为OrderedDict() 列表,然后使用pymongo 中可用的insert_many 将数据推送到mongodb。
要将 SQL 列映射到 mongo 列,我有一个 OrderedDict(cols),如下所示。
sqlCol=list(cols.keys())
mongoCol=list(cols.values())
insArray=[]
for b in tub:
doc=OrderedDict()
lst=['b.'+x for x in sqlCol]
for v in range(len(mongoCol)):
ii=lst[v]
doc[ll[v]]=lst[v]
insArray.append(doc)
但是,在结果中我看到的是 column names 而不是 values 因为列表 lst 将 column names 作为字符串但它需要与不带引号的 mongoColumns 进行映射。
我该如何实现这一点,或者有没有更好的方法来处理这个问题?
顺便说一句,我在 Python 3.6
【问题讨论】:
-
能否分享一个sqlCur返回的示例数据
-
@GThamizh :我知道它有一个元组列表,例如 [('GoDad', 73399, 'C'), ('GoDad', 73483, 'I')]
标签: python mongodb pymongo ordereddictionary