Python中模块pymysql查询结果后如何获取字段列表

yipeiwu_com6年前Python基础

前言

大家在使用pymysql的时候,通过fetchall()fetchone()可以获得查询结果,但这个返回数据是不包含字段信息的(不如php方便)。查阅pymysql源代码后,其实获取查询结果源代码也是非常简单的,直接调用cursor.description即可。

譬如:

db = pymysql.connect(...)
cur = db.cursor()
cur.execute(sql)
print(cur.description)
result = cur.fetchall()
data_dict=[]
for field in cur.description:
 data_dict.append(field[0])
print(data_dict)

在pymysql的pymysql/cursors.py中,找到class Cursor可以看到如下代码:

def __init__(self, connection):
 self.connection = connection
 self.description = None
 self.rownumber = 0
 self.rowcount = -1
 self.arraysize = 1
 self._executed = None
 self._result = None
 self._rows = None
 self._warnings_handled = False

因此,调用cur.rowcount是可以迅速返回查询结果记录数的,不需要通过len()获得。

总结

好了,先说到这里了。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python实现给微信指定好友定时发送消息

python实现给微信指定好友定时发送消息

python有很多有趣的库,其中wxpy是连接微信的接口,具体可以查看官方文档。可以实现自动操作,wxpy 支持 Python 3.4-3.6,以及 2.7 版本。 一、安装 win10...

Python实现建立SSH连接的方法

本文实例讲述了Python实现建立SSH连接的方法。分享给大家供大家参考。具体实现方法如下: 我需要实现一个Windows下远程连接到SSH服务器执行命令的功能,所以就在网上找资料。我的...

python绘制散点图并标记序号的方法

python绘制散点图并标记序号的方法

实现二维平面上散点的绘制,并可以给每个散点标记序号或者名称: import numpy as np import matplotlib.pyplot as plt x=[2.3,4...

对Python3中dict.keys()转换成list类型的方法详解

对Python3中dict.keys()转换成list类型的方法详解

在python3中使用dict.keys()返回的不在是list类型了,也不支持索引,我们可以看一下下面这张图片 那么我们应该怎么办呢,其实解决的方法也是非常简单的,只需要使用list...

python matplotlib实现双Y轴的实例

python matplotlib实现双Y轴的实例

如下所示: import matplotlib.pyplot as plt import numpy as np x = np.arange(0., np.e, 0.01) y1...