python 数据库查询返回list或tuple

MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行。

默认程序:

import MySQLdb
db  = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='test')
cur = db.cursor()
cur.execute('select * from user')
rs = cur.fetchall()
print rs
# 返回类似如下
# ((1000L, 0L), (2000L, 0L), (3000L, 0L))

修改后:

import MySQLdb
import MySQLdb.cursors
db = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='test',cursorclass=MySQLdb.cursors.DictCursor)
cur = db.cursor()
cur.execute('select * from user')
rs = cur.fetchall()
print rs
# 返回类似如下
# ({'age': 0L, 'num': 1000L}, {'age': 0L, 'num': 2000L}, {'age': 0L, 'num': 3000L})

或者也可以用下面替换connect和cursor部分

db  = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='test')
cur = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)

我的实践:

输出为元组类型:

import pymysqldb = pymysql.connect("localhost", "root", "123456", "filestore")
cursor = db.cursor()
sql='select * from tablelist where id>%s' %4
#查询方法一
cursor.execute(sql)
result=cursor.fetchall()
print('result',result)sql2='select * from tablelist where id>%s'
values=('4')  # 此处为元组类型
#查询方法二
cursor.execute(sql2,values)
result2=cursor.fetchall()
print('result2',result2)
id_list=[]
tablename_list=[]
tabletime_lsit=[]
cursor.execute('select * from tablelist where id>%s',[4,])
result3=cursor.fetchall()
print('type(result3)',type(result3))
#对((6, 'engineeringdata20180901', '1535731200'),)类型数据的提取
for i in range(len(result3)):id_list.append(result3[i][0])tablename_list.append(result3[i][1])tabletime_lsit.append(result3[i][2])
print(id_list)
print(tabletime_lsit)
print(tablename_list)
cursor.close()
db.close()
#输出结果:
result ((6, 'engineeringdata20180901', '1535731200'), (618, 'engineeringdata20180904', '1535990400'))
result2 ((6, 'engineeringdata20180901', '1535731200'), (618, 'engineeringdata20180904', '1535990400'))
type(result3) <class 'tuple'>
[6, 618]
['1535731200', '1535990400']
['engineeringdata20180901', 'engineeringdata20180904']

输出为list类型:

list_id=[]
list_tablename=[]
list_tabletime=[]
list=get_list('select * from tablelist where id>%s',[4])
print('list:',list)
# 对[{'id': 6, 'tablename': 'engineeringdata20180901', 'tabletime': '1535731200'},]类型数据的提取
for i in range(len(list)):print(list[i])list_id.append(list[i]['id'])list_tablename.append(list[i]['tablename'])list_tabletime.append(list[i]['tabletime'])
print('list_id:',list_id)
print('list_tabletime:',list_tabletime)
print('list_tablename:',list_tablename)
# 输出结果为:
list: [{'id': 6, 'tablename': 'engineeringdata20180901', 'tabletime': '1535731200'}, {'id': 618, 'tablename': 'engineeringdata20180904', 'tabletime': '1535990400'}]
{'id': 6, 'tablename': 'engineeringdata20180901', 'tabletime': '1535731200'}
{'id': 618, 'tablename': 'engineeringdata20180904', 'tabletime': '1535990400'}
list_id: [6, 618]
list_tabletime: ['1535731200', '1535990400']
list_tablename: ['engineeringdata20180901', 'engineeringdata20180904']

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【视频】视频文件格式和视频编码

我们经常在电脑、电视、手机或者其他终端产品看视频&#xff0c;我们对视频有个大概了解&#xff0c;比如清晰度、大小、视频类型等&#xff0c;但是对于视频内部结构我们应该一无所知&#xff0c;现在我们来一步一步解开视频的神秘面纱。 首先大家要清楚两个概念&#xff0c;视…

python list,str的拼接与转换

一、str转换为list <list> <str>.split(<separator>) <str>: 需要进行分隔提取的字符串 <separator>&#xff1a;从<str2>提取元素时依据的分隔符&#xff0c;一般也是一个str类型&#xff0c;如, <list>: 返回值&#xff0c;lis…

【文字识别】Python3使用百度AI进行文字识别

将图片翻译成文字一般被称为光学文字识别&#xff08;Optical Character Recognition&#xff0c;OCR&#xff09;。可以实现OCR 的底层库并不多&#xff0c;目前很多库都是使用共同的几个底层OCR 库&#xff0c;或者是在上面进行定制。 Tesseract 是一个OCR 库&#xff0c;目前…

no connection could be made because the target machine actively refused it.问题解决

第一步&#xff1a;查看端口占用情况netstat -ano 第二步&#xff1a;关闭两台电脑的360&#xff0c;防火墙 第三歩&#xff1a;查看端口。若为两台电脑之间通信。则应使用服务器这台电脑的ip进行连接。利用ipconfig查看本机ip&#xff08;Ipv4地址&#xff09; 因为127.0.0…

【图片】图像基本知识以及三原色原理 (rgb)

一、 有关色彩的基本常识    我们知道&#xff0c;只要是彩色都可用亮度、色调和饱和度来描述&#xff0c;人眼中看到的任一彩色光都是这三个特征的综合效果。那么亮度、色调和饱和度分别指的是什么呢&#xff1f; 亮度&#xff1a;是光作用于人眼所引起的明亮程度的…

python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解

一、对json文件的读取 data1{"programmers":[{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },{ "firstName": "Jason", "lastName":"Hunte…

【图片】Python对RGB颜色与16进制颜色进行互转

RGB颜色被称为“真彩色”&#xff0c;是Photoshop中默认使用的颜色&#xff0c;也是最常用的一种颜色模式。RGB模式的图像由3个颜色通道组成&#xff0c;分别为红色通道&#xff08;Red&#xff09;、绿色通道&#xff08;Green&#xff09;和蓝色通道&#xff08;Blue&#xf…

【Python】pyinstaller模块将py文件打包为windows可执行文件exe

python脚本如果在没有安装python的机器上不能运行&#xff0c;所以将脚本打包成exe文件&#xff0c;降低脚本对环境的依赖性&#xff0c;同时运行更加迅速。当然打包的脚本似乎不是在所有的win平台下都能使用&#xff0c;win7有一部分不能使用&#xff0c;我在win10能够很好的运…

html img src

< img >标签 代表 图片&#xff0c;img标签的作用是向网页中插入一张图片&#xff0c;并不是将图片绘制到网页中。 src 属性&#xff1a;“插入”图片到网页中去。 alt 属性&#xff1a;值可以是一段文字&#xff0c;当图片由于各种原因无法显示时&#xff0c;alt属性的…

【自动化】Python3+Selenium3自动化测试-准备工作

# 系统&#xff1a;win7(64位) # 浏览器&#xff1a;Chrome(75.0.3770.100) # python版本&#xff1a;3.7.0 # Selenium&#xff1a;3.14.1 Selenium简介 Selenium是一款适用于Web应用程序的便携式软件测试框架。 Selenium为编写测试提供了一个回放工具&#xff0c;无需学习测…

基本数据类型float和double的区别

float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下&#xff1a; 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 03.数值取值范围 单精度浮…

【Python】pip模块管理Python包的常用方法

pip 是 Python 包管理工具&#xff0c;该工具提供了对Python 包的查找、下载、安装、卸载的功能。 目前如果你在 python.org 下载最新版本的安装包&#xff0c;则是已经自带了该工具。 Python 2.7.9 或 Python 3.4 以上版本都自带 pip 工具。pip 官网&#xff1a;https://pypi…

OpenCV_ cv2.imshow()

cv2.imshow() cv2.imShow()函数可以在窗口中显示图像。该窗口和图像的原始大小自适应&#xff08;自动调整到原始尺寸&#xff09;。 第一个参数是一个窗口名称&#xff08;也就是我们对话框的名称&#xff09;&#xff0c;它是一个字符串类型。第二个参数是我们的图像。您可以…

【数据库】mysql常用的数据类型

数据类型是指列、存储过程参数、表达式和局部变量的数据特征&#xff0c;它决定了数据的存储格式&#xff0c;代表了不同的信息类型。 有一些数据是要存储为数字的&#xff0c;数字当中有些是要存储为整数、小数、日期型等... MySQL支持多种类型&#xff0c;大致可以分为四类&a…

numpy、cv2等操作图片基本操作

相关包 matplotlibPILcv2numpy 各种操作 读取图片 1 matplotlib.pylab import pylab as plt import numpy as np img plt.imread(examples.png) print(type(img), img.dtype, np.min(img), np.max(img)) [out] (<type numpy.ndarray>, dtype(float32), 0.0, 1.0) …

【Python】base64模块对图片进行base64编码和解码

图片的base64编码就是可以将一副图片数据编码成一串字符串&#xff0c;使用该字符串代替图像地址。 这样做有什么意义呢&#xff1f;我们知道&#xff0c;我们所看到的网页上的每一个图片&#xff0c;都是需要消耗一个 http 请求下载而来的。 没错&#xff0c;不管如何&#xf…

Mysql错误2003 -Can't connect toMySQL server on 'localhost'(10061)解决办法

错误图片 昨天晚上还在用mysql来存储东西,而今天早上发现mysql数据库根本打不开,吓了我一大跳,本来就想重装mysql服务,但是我的数据库都没了,相当于大楼盖起来了,地基一下出现了裂缝,后来经过研究解决办法 如下 我发现mysql的服务一直无法启动如图 显示Cant connect toMySQL s…

【Python实战】使用python计算多种还款方式的还款计划

随着人们经济活动的增加&#xff0c;用钱的地方越来越多&#xff0c;不管是像买房这样的大额支出还是个人消费型支出&#xff0c;越来越多的人选择贷款来解决眼前的经济危机。 而申请贷款就涉及到选择不同的还款方式&#xff0c;所需要偿还的欠款综合也大有不同&#xff0c;那么…

python write报错a byte-like object is required.not str

办法一&#xff1a;根本原因是Python版本问题python2.x中要求用‘wb’&#xff0c;python3.x中要求用w 用open&#xff08;filename&#xff0c;‘w’&#xff09;方式 办法二&#xff1a;encode(ascii)

【Python】浮点数计算时的不准确性以及如何进行精确计算

浮点数一个普遍的问题就是在计算机的世界中&#xff0c;浮点数并不能准确地表示十进制。并且&#xff0c;即便是最简单的数学运算&#xff0c;也会带来不可控制的后果。因为&#xff0c;在计算机的世界中只认识0与1 因为在计算机里面&#xff0c;小数是不精确的&#xff0c;例如…