当前位置:Gxlcms > Python > 记录一次从txt文件导入数据的python下的MySQL实现

记录一次从txt文件导入数据的python下的MySQL实现

时间:2021-07-01 10:21:17 帮助过:6人阅读

环境: 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 Edition
11 @file: main.py
12 @time: 2017/7/8 23:47
13 """
14 import MySQLdb
15 import os
16 #import re
17 
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 = 3306
24 
25 importpath = u"""D:\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 "处理文件中... ->" + file
34         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                 continue
40             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                 continue
47             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 sumlist
54 
55 
56 
57 conn = MySQLdb.Connect(host = Conn_IP,
58                        user = Conn_UserName,
59                        passwd = Conn_PassWord,
60                        db = Conn_database,
61                        port = Conn_Port
62                        )
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实现的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行