Python SQL查询返回元组中的输出,其中{key:value}对中缺少键(列名)

Python SQL查询返回元组中的输出,其中{key:value}对中缺少键(列名),python,Python,我想以key:value格式从数据库表中检索数据。但通过使用SQL查询,我只得到元组格式的值 这是我的密码: query = "SELECT * FROM `stock_" + str( user_id) + "` INNER JOIN product ON stock_" + str( user_id) + ".product_id=product.id WHERE product.categor

我想以key:value格式从数据库表中检索数据。但通过使用SQL查询,我只得到元组格式的值

这是我的密码:

query = "SELECT * FROM `stock_" + str(
            user_id) + "` INNER JOIN product ON stock_" + str(
            user_id) + ".product_id=product.id WHERE product.category=" + category + 
            " AND product.sub_category =" + sub_category

cursor.execute(query)
records = cursor.fetchall()
print(records)
这是输出:

(11, datetime.datetime(2020, 1, 23, 2, 7, 59),10,500,400,100,20.0)
以及我的预期产出:

{
            "id": 11,
            "expiry_date": "2020-07-01",
            "quantity": 10,
            "mrp": 500,
            "selling_price": 400,
            "discount_prize": 100,
            "discount_percent": 20.0
}

您可以使用
cursor.description
获取字段名,然后可以使用列表理解创建包含查询结果的词典列表

这应该会给你一些接近你想要的输出

records=cursor.fetchall()
fields=[字段[0]用于游标中的字段。说明]
数据=[记录中记录的dict(zip(字段,记录))]

您可以使用
cursor.description
获取字段名,然后可以使用列表理解创建包含查询结果的词典列表

这应该会给你一些接近你想要的输出

records=cursor.fetchall()
fields=[字段[0]用于游标中的字段。说明]
数据=[记录中记录的dict(zip(字段,记录))]

为什么期望有这样的输出
fetchall
返回元组列表。好的。还有别的办法吗?我希望输出具有相应的列名,为什么期望输出
fetchall
返回元组列表。好的。还有别的办法吗?我想输出相应的列名谢谢,它起作用了谢谢,它起作用了