zoukankan      html  css  js  c++  java
  • 使用正则表达式替换文件内容 分类: python 小练习 2013-08-13 15:07 332人阅读 评论(0) 收藏

    现有一个包含用户信息的文件userinfo,内容格式如下:

    insert into USERINFO (ID, USERNAME, PWDHASH, USEALIAS, ALIAS, REALNAME, INUSE, F_BRANCH_ID, MOBILEPHONE, TELEPHONE, EMAIL, LICENSECODE,

    ADDRESS, POSTCODE, GENDER, F_CUSTOMER_ID, ISCORE, ACTIVETIME, EXPIRETIME, IP)


    values (248, 'police', '94216d6c554585824505a697b354b2b1', null, '', 'realname', 1, 223, 'mobile', 'phone', '1@163.com', '', 'address', '', 'M', 163, null, to_date('11-04-2013',

    'dd-mm-yyyy'), to_date('19-04-2013', 'dd-mm-yyyy'), '192.168.0.0');

    想要将类似to_date('19-04-2013', 'dd-mm-yyyy')的内容替换为null。


    import re
    
    f= open(r'D:userinfo.txt') #用户信息文件
    
    f2 =open(r'D:userinfo_handled.txt','w+') #经过替换操作后的文件
    
    p ='to_date(.*?)'  #注意()是正则中的特殊字符,需要转义
    
    for i in f:
    
        if re.search(p,i):
            i=re.sub(p,'null',i)
    
        f2.write(i)
    
    f2.close()
    
    f.close()

    替换后的结果如下:

    insert into USERINFO (ID, USERNAME, PWDHASH, USEALIAS, ALIAS, REALNAME, INUSE, F_BRANCH_ID, MOBILEPHONE, TELEPHONE, EMAIL, LICENSECODE,

    ADDRESS, POSTCODE, GENDER, F_CUSTOMER_ID, ISCORE, ACTIVETIME, EXPIRETIME, IP)


    values (248, 'police', '94216d6c554585824505a697b354b2b1', null, '', 'realname', 1, 223, 'mobile', 'phone', '1@163.com', '', 'address', '', 'M', 163, null, null, null,

    '192.168.0.0');


    然后可以使用userinfo_handled.txt中的语句在mysql数据库中执行。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    驾驶细节
    python 字符串前面加u,r,b,f的含义
    pandas dataframe指定列字符串转成数字的方法
    python 休息随机秒
    Windows搭建ffmpeg推流服务端 sky
    在golang中如何正确判断接口是否为nil
    快速了解一门技术的学习方法
    TortoiseGit使用教程(图文详细版)
    centos7升级安装openssl版本
    CentOS7防火墙,开放端口配置
  • 原文地址:https://www.cnblogs.com/think1988/p/4628098.html
Copyright © 2011-2022 走看看