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


Posted in Python onJune 05, 2017

前言

大家在使用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脚本使得web页面上的代码高亮显示
Apr 24 Python
Python 多线程的实例详解
Sep 07 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
Flask框架Jinjia模板常用语法总结
Jul 19 Python
Python中logging实例讲解
Jan 17 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
Jun 17 Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 Python
创建Shapefile文件并写入数据的例子
Nov 26 Python
Pytorch中.new()的作用详解
Feb 18 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
python如何编写类似nmap的扫描工具
Nov 06 Python
Elasticsearch 聚合查询和排序
Apr 19 Python
Python实现选择排序
Jun 04 #Python
Python使用pymysql小技巧
Jun 04 #Python
Python常见异常分类与处理方法
Jun 04 #Python
Python实现Linux的find命令实例分享
Jun 04 #Python
安装Python和pygame及相应的环境变量配置(图文教程)
Jun 04 #Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 #Python
python snownlp情感分析简易demo(分享)
Jun 04 #Python
You might like
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
python错误处理详解
2014/09/28 Python
python中二维阵列的变换实例
2014/10/09 Python
Python实现把xml或xsl转换为html格式
2015/04/08 Python
解密Python中的描述符(descriptor)
2015/06/03 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
个人自我鉴定怎么写
2013/10/28 职场文书
民生工作实施方案
2014/05/31 职场文书
博士导师推荐信
2015/03/25 职场文书
Python基础详解之邮件处理
2021/04/28 Python
Go语言实现Snowflake雪花算法
2021/06/08 Golang
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫