• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

mysql 搞代码 7年前 (2018-06-09) 132次浏览 已收录 0个评论

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

环境: 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: [email protected]  9 @site: http://www.cnblogs.com/elijahxb 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()

1楼Mike_Zhang
生产环境下是需要考虑数据库重新连接的问题,参考下这个,希望对你有帮助:,http://www.pyexamples.com/DB_mysql.html

欢迎大家阅读《记要一次从txt文件导入数据的python下的MySQL实现_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:记要一次从txt文件导入数据的python下的MySQL实现_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址