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