pymysql 返回数据 带字段名 (序列化)

2021-03-23  本文已影响0人  Joncc

cur.description 获取表结构,如:

第一个元素为字段名
(
('ip', 253, None, 50, 50, 0, True),
)
def fetchall(self, sql, params=None):
     res = self.execute(sql, params)
     if not res:
         logs.info("查询失败")
         return False
     results = self.cur.fetchall()
     # 获取表结构  self.cur.description , 然后取每个的第一个元素field[0]
     # field 第一个元素为字段名
     fields = [field[0] for field in self.cur.description]
     # 序列化 成字典 zip  把两个可迭代对象合并成2维元组。然后用dict 转化为字典。
     res = [dict(zip(fields, result)) for result in results]
     logs.info(f"查询成功, 条数: {len(results)}" )
     return res
上一篇下一篇

猜你喜欢

热点阅读