python - 如何获取所有mysql元组结果并转换为json

标签 python mysql json

我能够从表中获取单个数据。但是当我试图获取表中的所有数据时,我只得到一行。

cnn.execute(sql)
        rows = cnn.fetchall()
        column = [t[0] for t in cnn.description]
        for row in rows:
            myjson = {column[0]: row[0], column[1]: row[1], column[2]: row[2], column[3]: row[3], column[4]: row[4], column[5]: row[5], column[6]: row[6], column[7]: row[7], column[8]: row[8], column[9]: row[9], column[10]: row[10], column[11]: row[11], column[12]: row[12], column[13]: row[13], column[14]: row[14], column[15]: row[15], column[16]: row[16], column[17]: row[17], column[18]: row[18], column[19]: row[19], column[20]: row[20]}
            myresult = json.dumps(myjson, indent=3)
            return myresult

最佳答案

现在,在 PyMysql 中,有一个工具可以配置您的连接以使用 cursorClass,它默认生成 Dictionary 作为输出。 (因此在返回 API 结果时直接工作,因为它被转换为 JSON)

来自documentation PyMysql 的:将您的连接配置为

# Connect to the database
connection = pymysql.connect(host='localhost',
                             user='user',
                             password='passwd',
                             db='db',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

result = cursor.fetchone()
        print(result)

此结果的输出:

{'password': 'very-secret', 'id': 1}

关于python - 如何获取所有mysql元组结果并转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22315919/

相关文章:

Python 符号或操作 "**"

javascript - 填充两个下拉框并选择匹配的项目

mysql - 如何计算mysql innodb表中一行的磁盘空间使用情况

python - Django + SWFUpload 的代码示例?

python - 使用 Web(Html css) 和 Python 进行人脸检测

python - 使用 bool 系列/数组从 Pandas 数据框中选择

php - 加密/解密主键而不是使用 UID?

javascript - 在 JSON 文件中查找一个元素并以 HTML 显示它

json - 如何在 AWS Lambda 项目中存储和加载自定义 json 应用程序设置和连接字符串?

asp.net - 通过 jQuery Ajax 动态从客户端表单传递数据