將 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章