如果您不提前知道列,请使用Cursor.description生成列名列表,并在每行压缩后生成字典列表。该示例假定已建立连接和查询:
>>> 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'}]


