从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) ) ...
随机推荐
- ccf 目录格式转换
任务背景: 在网络上获取的ccf目录的格式是PDF,但是要进行数据分析时,PDF格式的数据是不符合要求的,因此需要将pdf格式转化为excel格式 任务目的: 将pdf格式的CCF目录转化为excel ...
- 如何使用Sencha touch 构建基于Cordova的安卓项目
项目构建篇 1.生成sencha touch 项目 新建目录,在命令行进入该目录,sencha -sdk sdk-path generate app appName appPath 2.命令行中进入 ...
- 国内各大支付平台的API地址
1丶目前国内最火的支付平台--蚂蚁金服开放平台(支付宝) https://open.alipay.com/platform/home.htm 2丶国内游戏帝国--腾讯(微信支付) https://pa ...
- Manjaro 安装后的配置
1. 将本地数据包与远程数据包同步 sudo pacman -Syy 默认manjaro是没有同步数据包的,也就是说,这个时候你执行pacman -S pack_name 会报数据包找不到的错误(wa ...
- 去重是distinct还是group by?
distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计. 单纯的去重操作使用di ...
- S3C6410板子移植 Android2.2
一:Android简介 1.什么是Android: Android是一种基于linux的自由及开放源代码的操作系统,主要适用于移动设备,如智能手机和平板电脑,是由google公司和开放手机联盟领导和开 ...
- (转)JAVA HashSet 去除重复值原理
Java中的set是一个不包含重复元素的集合,确切地说,是不包含e1.equals(e2)的元素对.Set中允许添加null.Set不能保证集合里元素的顺序. 在往set中添加元素时,如果指定元素不存 ...
- elasticsearch 的安装配置与spring boot的整合应用
linux上的elasticsearch安装 一.下载elasticsearch 直接进入elasticsearch的官网,下载最新的安装包:https://www.elastic.co/downlo ...
- YII框架组件CListView实现分页
效果是普通分页就不截图了... C控制器方法如下: $criteria=new CDbCriteria; $criteria->condition = "`status`={$newS ...
- Java 8 Documentation Download
Java API 下载方法 https://www.oracle.com/index.html https://www.oracle.com/java/technologies/java-se.htm ...