环境: python2.7
comsenzxp自带mysql
安装python-mysql模块
数据格式:txt格式的账号信息。
数据一行一条数据。
难点:有的行只有账号,没有密码;有的为空行;有的行首行尾有三连引号;有的空行;有的不是账号密码信息。
代码实现:
1 #!/usr/bin/env python 2 # encoding: utf-8 3 4 5 6 @version: 7 @author: elijahxb 8 @contact: elijahxb@163.com 9 @site: 10 @software: pycharm community edition11 @file: main.py12 @time: 2017/7/8 23:4713 14 import mysqldb15 import os16 #import re17 18 conn_ip = '127.0.0.1'19 conn_username = 'root'20 conn_password = '11111111'21 conn_database = 'qqdata'22 conn_table = 'login'23 conn_port = 330624 25 importpath = ud:\qq数据库.encode(gbk)26 pattern = [0-9,a-z,a-z]{4,12}27 sumlist = []28 def gett(path):29 filedata = []30 onedata = []31 filelist = os.listdir(path)32 for file in filelist:33 print 处理文件中... -> + file34 with open(os.path.join(path,file),'r') as fh:35 lines = fh.readlines()36 for index,line in enumerate(lines):37 print 正在处理第{0}行数据,进度{0}/{1},【{2}】.format(index,len(lines),str(float(%0.2f%(float(index)/len(lines)))*100) + %)38 if len(line) < 14:39 continue40 elif '' in line:41 line = line.split('')[1]42 text_l = line.split( )43 username = text_l[0]44 passwd = text_l[1].split(\n)[0]45 if len(username) < 4 or len(passwd) < 4:46 continue47 onedata.append(username)48 onedata.append(' + passwd + ')49 filedata.append(tuple(onedata))50 onedata = []51 filedata = list(set(filedata))#清除一个文件里面的所有重复项52 sumlist.append(tuple(filedata))53 return sumlist54 55 56 57 conn = mysqldb.connect(host = conn_ip,58 user = conn_username,59 passwd = conn_password,60 db = conn_database,61 port = conn_port62 )63 cur = conn.cursor()64 cur.execute(use qqdata)65 cur.execute(truncate table login)66 sqlcmd = insert into login (qq,pwd) values(%s,%s)67 t = gett(importpath)68 for singlefiledata in t:69 cur.executemany(sqlcmd,singlefiledata)70 cur.close()71 conn.close()
以上就是记录一次从txt文件导入数据的python下的mysql实现的详细内容。