Output pyodbc cursor results as python dictionary

后端 未结 8 1603
孤独总比滥情好
孤独总比滥情好 2020-11-29 18:37

How do I serialize pyodbc cursor output (from .fetchone, .fetchmany or .fetchall) as a Python dictionary?

I\'m using bottlepy

8条回答
  •  攒了一身酷
    2020-11-29 19:07

    If you don't know columns ahead of time, use Cursor.description to build a list of column names and zip with each row to produce a list of dictionaries. Example assumes connection and query are built:

    >>> 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'}]
    

提交回复
热议问题