如何将 pyodbc 游标输出(来自 .fetchone
、.fetchmany
或 .fetchall
)序列化为 Python 字典?
我正在使用bottlepy,需要返回dict,以便它可以将它作为JSON返回。
最佳答案
如果您不提前知道列,请使用 Cursor.description建立一个列名列表和zip每行生成一个字典列表。示例假设已建立连接和查询:
>>> cursor = connection.cursor().execute(sql)
>>> columns = [column[0] for column in cursor.description]
>>> print(columns)
['name', 'create_date']
>>> results = []
>>> for row in cursor.fetchall():
... results.append(dict(zip(columns, row)))
...
>>> print(results)
[{'create_date': datetime.datetime(2003, 4, 8, 9, 13, 36, 390000), 'name': u'master'},
{'create_date': datetime.datetime(2013, 1, 30, 12, 31, 40, 340000), 'name': u'tempdb'},
{'create_date': datetime.datetime(2003, 4, 8, 9, 13, 36, 390000), 'name': u'model'},
{'create_date': datetime.datetime(2010, 4, 2, 17, 35, 8, 970000), 'name': u'msdb'}]
关于python - 将pyodbc游标结果输出为python字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16519385/