温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python 按照某种匹配条件拆分字符串并存储数据到数据库 实例

发布时间:2020-07-23 13:23:13 阅读:673 作者:insist_way 栏目:编程语言
亿速云云数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

需求:

提供如下的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()

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×