您好,登錄后才能下訂單哦!
需求:
提供如下的txt文件
測試u047【123456@qq.com】
自主招生3
測試u008【456789@qq.com】
自主招生6
需要將其拆分為如下結果:
id? qq? ????????????????????????username
1? ?123456@qq.com? ?測試u047
2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??自主招生3
3? ?456789@qq.com? ?測試u008
4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??自主招生6
實現比較簡單,按照 【? 作為匹配條件,然后做字符串的截取,最后存儲到數據庫即可,代碼如下:
#處理53數據??測試u008【456789@qq.com】
import pymysql
#Python3環境
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()? #如果發現數據表的id自增了,但卻沒有數據就要考慮是否為該原因
? ? ? ? else:
? ? ? ? ? ? sql = 'insert into phone53(username) values("%s");' % (i)
? ? ? ? ? ? cursor.execute(sql)
? ? ? ? ? ? db.commit()
except Exception as e:
? ? print(e)
db.close()
f.close()
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。