您好,登錄后才能下訂單哦!
需求:
提供如下的txt文件
測(cè)試u047【123456@qq.com】
自主招生3
測(cè)試u008【456789@qq.com】
自主招生6
需要將其拆分為如下結(jié)果:
id? qq? ????????????????????????username
1? ?123456@qq.com? ?測(cè)試u047
2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??自主招生3
3? ?456789@qq.com? ?測(cè)試u008
4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??自主招生6
實(shí)現(xiàn)比較簡(jiǎn)單,按照 【? 作為匹配條件,然后做字符串的截取,最后存儲(chǔ)到數(shù)據(jù)庫(kù)即可,代碼如下:
#處理53數(shù)據(jù)??測(cè)試u008【456789@qq.com】
import pymysql
#Python3環(huán)境
def Handle_str(str1):
? ? pos = str1.find('【')
? ? if pos > 0:
? ? ? ? QQ = str1[pos+1:-2]
? ? ? ? names = str1[:pos]
? ? ? ? return QQ,names
? ? else:
? ? ? ? return ''
f = open('phone53')
data = f.readlines()
db = pymysql.connect(host='xxx', user='lizibin', passwd='xxx', db='crm', charset='utf8',connect_timeout=10)
cursor = db.cursor()
try:
? ? for i in data:
? ? ? ? pos = i.find('【')
? ? ? ? if pos > 0:
? ? ? ? ? ? QQ,names = Handle_str(i)
? ? ? ? ? ? sql = 'insert into phone53(qq,username) values("%s","%s");' % (QQ,names)
? ? ? ? ? ? cursor.execute(sql)
? ? ? ? ? ? db.commit()? #如果發(fā)現(xiàn)數(shù)據(jù)表的id自增了,但卻沒有數(shù)據(jù)就要考慮是否為該原因
? ? ? ? else:
? ? ? ? ? ? sql = 'insert into phone53(username) values("%s");' % (i)
? ? ? ? ? ? cursor.execute(sql)
? ? ? ? ? ? db.commit()
except Exception as e:
? ? print(e)
db.close()
f.close()
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。