将 pymysql 的查询结果转化为 json 格式

mywang88

2019-05-08

简介

使用 Python 的 pymysql 库的时候会遇到这样的问题,查询结果的结构为嵌套元组:

import pymysql

con = pymysql.connect() # 省略连接信息
cur = con.cursor()
cur.execute("SELECT * FROM table_name")
data = cur.fetchall()

这有时并不方便,我们常需要把它转化为 json 格式。

代码

定义如下函数就可以实现这个小功能。

import pymysql

def sql_fetch_json(cursor: pymysql.cursors.Cursor):
    """
    Convert the pymysql SELECT result to json format
    :param cursor:
    :return:
    """
    keys = []
    for column in cursor.description:
        keys.append(column[0])
    key_number = len(keys)

    json_data = []
    for row in cursor.fetchall():
        item = dict()
        for q in range(key_number):
            item[keys[q]] = row[q]
        json_data.append(item)

    return json_data

你可能感兴趣的:(Python学习,pymysql,json,fetchall,查询结果,转换)