从mysql中拿到的数据构造为列表
最近测试接口遇到一个问题,用python2.7从mysql中取到的数据是元祖类型的,元祖内部的元素也是一个元祖(并且部分元素的编码格式是unicode的);
类似这样:
((10144, u''), (50016, u'[10029,50042,10189,50044]'), (10155, u'[10048]'), (10069, u'[50030,10133]'), (10029, u''), (0, u''), (10128, u''), (10189, u'[50041,50016,50043]'), (50036, u''), (0, u''), (50017, u''))
我的需求是把所有5位数的数字组成一个列表,数据处理的过程很有趣,记录一下。
代码实现:
# coding: utf-8
import pymysql
import re #链接数据库、执行SQL
def accountuser():
# 创建一个连接对象,再使用创建游标
con = pymysql.connect(host='100.30.0.20', port=3306, user='user', passwd='M20000000', db='chip_service_sole',charset='utf8')
cursor = con.cursor() # 执行SQL
sql = 'select karAccount,authorizedAccount from device where appkey like "bmgfkakicb2et243usfbizdt45mp6utbtb3433il"'
cursor.execute(sql) # 从游标中取出所有记录放到一个序列中并关闭游标
result = cursor.fetchall()
cursor.close() # 元祖类型result转换成列表类型result
result = list(result)
return result # 去除列表中account为0的元素
def withoutzero():
result1 = accountuser()
asd = (0, u'')
for i in result1:
if i == asd:
f = result1.index(i)
result1.pop(f)
return result1 # 把列表转换为str类型,并生成只包含所有account的字符串
def changstr():
result2 = str(withoutzero())
result2 = result2.strip('[').strip(']')
result2 = re.sub("[(u')]", '', result2)
result2 = re.sub("[ []", '', result2)
result2 = re.sub("[],]", '', result2)
return result2 # 创建包含所有account的列表
def creatlist():
result3 = changstr()
listnew = [] for i in range(len(result3) / 5):
j = result3[:5]
result3 = result3[5:]
listnew.append(j)
print listnew
print len(listnew) # 主函数
def run():
result = accountuser()
if len(result) > 0:
creatlist()
else:
print "查询到的account个数为0" if __name__ == '__main__':
run()
从mysql中拿到的数据构造为列表的更多相关文章
- MYSQL中约束及修改数据表
MYSQL中约束及修改数据表 28:约束约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括: NOT NULL(非空约束) PRIMARY KEY(主键约束) UNI ...
- MySQL中UTF8编码的数据在cmd下乱码
MySQL中UTF8编码的数据在cmd下乱,在数据库ide中看到的却是中文. 其实,原因是cmd用gbk的格式来显示数据,那么我们只需要将utf-8存储的数据用gbk的格式输出到cmd即可. 解决方法 ...
- C# 利用mysql.data 在mysql中创建数据库及数据表
C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...
- 关于如何在mysql中插入一条数据后,返回这条数据的id
简单的总结一下如何在mysql中出入一条数据后,返回该条数据的id ,假如之后代码需要这个id,这样做起来就变得非常方便,内容如下: <insert id="insertAndGetI ...
- 在Mysql中插入百万级别数据的方法
首先,建立部门表和员工表: 部门表: create table dept( id int unsigned primary key auto_increment, deptno mediumint u ...
- mysql中删除完全重复数据的准确SQL语句
删除数据库中重复的记录,只保留一条 DELETE FROM tb_gps_records WHERE id NOT IN (SELECT bid FROM (SELECT min(id) as bid ...
- MySQL中使用group_concat()函数数据字符过长报错的问题解决方法
最近在办公软件项目,在开发权限指标遇到一个问题:我们系统的一些逻辑处理是用存储过程实现的,但是有一天客户反馈说权限指标分配报错,查了分配的权限数据牵扯到的数据权限基础资源,没有问题.权限指标分配的存储 ...
- MySQL中使用group_concat()函数数据被截取(有默认长度限制),谨慎!
最近在工作中遇到一个问题: 我们系统的一些逻辑处理是用存储过程实现的,但是有一天客服反馈说订单下单失败,查了下单牵扯到的产品基础资源,没有问题. 下单的存储过程中有这样两句代码: ; ; ; 执行存储 ...
- MySQL中存储json格式数据
1.1.1. JSON类型数据存储 新建表 create table json_user ( uid int auto_increment, data json, primary key(uid) ) ...
随机推荐
- 用一张表里的记录更新自己(或另一张表)里的记录(exists使用)
update jqhdzt set shid=(select shid from v_plat_userjqinfo t where jqhdzt.jqbh=t.JQBH and jqhdzt.shi ...
- Spring Cloud Config - RSA简介以及使用RSA加密配置文件
简介 RSA非对称加密有着非常强大的安全性,HTTPS的SSL加密就是使用这种方法进行HTTPS请求加密传输的.因为RSA算法会涉及Private Key和Public Key分别用来加密和解密,所以 ...
- Java容器:List
集合类的层次关系 List接口简介 List的常用方法 List实例 Vector ArrayList Vector和ArrayList的扩容 LinkedList 参考文章 今天开始更新Java集合 ...
- 类设计:设计卖车的4S店
class Car(object): # 定义车的方法 def move(self): print('---车在移动---') def stop(self): print('---停车---') # ...
- 2014金山笔试_编写一个数组类 MyVector
//编写一个数组类 MyVector,数组内容可以动态扩充,实现构造,析构,赋值操作符重载,插入,删除,获取元素个数,获取数组容量(不可以使用STL等的容器类,不能使用 //不连续的存储空间) #in ...
- JavaScirpt的this指向 apply().call(),bind()个人笔记
写在前头: 本站内容为个人学习记录,纯属个人观点,不喜勿喷,欢迎指正! 笔记记录缘由:JavaScript的流行趋势已经势不可挡,衍生的AngularJs,Node.js,BootStrmp中小企业的 ...
- Python_CRC32
#计算文件的CRC32值 import sys import zlib import os.path filename=sys.argv[1] print(filename) if os.path.i ...
- mint-ui之picker爬坑记
picker的数据来源为动态获取时,数据无法正常渲染!因为方法不对,所以坑大了!深刻地体会到'业不精,我之过',谨以此文,深刻地记录一下踩坑及爬坑的整个过程,以便日后不再入坑,也给后来者提供一下参考 ...
- 读《图解HTTP》有感-(返回结果的HTTP状态码)
写在前面 HTTP状态码是由服务端产生,用于告诉客户端,服务端处理结果的编码 正文 1.状态码的作用是什么?具有什么特征? 状态码的作用是当客户端向服务器发送请求时,描述服务器的响应结果(如:服务器正 ...
- Spring Cloud @HystrixCommand和@CacheResult注解使用,参数配置
使用Spring Cloud时绕不开Hystrix,他帮助微服务实现断路器功能.该框架的目标在于通过控制那些访问远程系统.服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力.Hystrix具备 ...