python 数据库去重操作
来源:互联网 发布:游戏开发程序员招聘网 编辑:程序博客网 时间:2024/04/27 16:51
# -*- coding: UTF-8 -*-"""@version: python2.7.8@author: XiangguoSun@contact: sunxiangguodut@qq.com@file: connectdb.py@time: 2016/12/28 16:12"""import MySQLdbimport timedef connectdb(): while True: try: db = MySQLdb.connect("localhost", "root", "root", "douban") return db except MySQLdb.Error,e: print e.args,"(connectdb) we will try again after 10 seconds..." time.sleep(10)
下面是对数据库进行操作
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@version: python2.7.8 @author: XiangguoSun@contact: sunxiangguodut@qq.com@file: dbfunction.py@time: 2017/2/10 11:08@software: PyCharm"""import sysfrom connectdb import connectdbreload(sys)sys.setdefaultencoding('utf-8')def fun(tablename): db = connectdb() cursor = db.cursor() print "start transform",tablename,"..." sql = "SELECT COUNT(*) as repetitions, uid, time " \ "FROM " + tablename + " " \ "GROUP BY uid, time " \ "HAVING repetitions > 1" cursor.execute(sql) an = cursor.fetchall() print "duplicate data: ",len(an) sql = "SELECT uid, `time` " \ "FROM " + tablename + " " \ "GROUP BY uid, time" cursor.execute(sql) print "create tmp..." sql = "CREATE TABLE tmp SELECT `uid`, `likers_count`, `time`, `url`, `comments_count`, `activity`, `type`, `content`, `crawtime`" \ "FROM " + tablename + " GROUP BY uid, time" cursor.execute(sql) print "create tmp done!" print "drop table "+tablename+"..." sql = "DROP TABLE " + tablename cursor.execute(sql) print "drop table "+tablename+"done!" print "rename table tmp as"+tablename+"..." sql = "ALTER TABLE tmp RENAME TO " + tablename cursor.execute(sql) print "rename done!" print "add key..." sql = "ALTER TABLE " + tablename + " ADD PRIMARY KEY (`uid`,`time`)" cursor.execute(sql) print "key added done!" print "succeed!"db = connectdb()for i in range(1,200): fun("userlifestream_"+str(i))print "all done!"
请注意转义符号的使用··,尤其是在sql语句GROUP 等
还有增加联合主键:没有转意字符会报错
转义操作符是键盘上~键对应的
print "add key..."sql = "ALTER TABLE " + tablename + " ADD PRIMARY KEY (`uid`,`time`)"cursor.execute(sql)print "key added done!"
0 0
- python 数据库去重操作
- Python入门:文件内容去重操作
- Python入门:文件内容去重操作
- python实现对数组去重排序操作
- hive去重操作
- list去重操作
- 数据库去重
- 数据库去重问题
- oracle数据库去重
- 数据库数据去重
- 数据库去重
- mysql数据库去重
- 数据库去重
- 数据库去重
- 数据库去重
- 数据库去重
- Mongodb数据库去重
- 数据库去重
- Tinker接入及源码分析(一)
- aws、aliyun 的使用小结
- pww区域连接特征提取算法
- mysql 外键(foreign key)的使用,同一个table的两个外键对应一个table的主键
- 多点触控
- python 数据库去重操作
- 信号与系统
- play教程 第八课 Model的用法 play中的JPA
- 机器学习初探
- Tinker接入及源码分析(二)
- 大数据传输
- 《数学之美》与编程
- 关于阅读源代码
- 模拟java的split函数,分割字符串,类似于java的split方法