zoukankan      html  css  js  c++  java
  • python查找文本文档中特定间隔位置的字符并替换

        实际工作中,从数据库里导出了几万条IMEI到excel中,现在需要把这些IMEI每40个分一组,保存在txt文档中,方便进行性能测试时调用。

    1.excel中的IMEI以常规格式显示了,虽然内容是15数字,但看着是科学计数方法。Excel中,单元格格式改为数值,小数位数改为0,即能正常显示;

    2.拷贝excel中的IMEI列,放到txt文档中,是一行显示一个IMEI,而一组IMEI之间是用逗号隔开;用notepad++工具打开,进行替换:查找目标为 ,替换为,查找模式选择“扩展”,即可完成全文替换为IMEI之间用逗号隔开。此文件保存为IMEIfirst.txt

    3.因40个IMEI为一组,则需要把第40个IMEI后的逗号,重新替换为换行符 ;要替换的比较多,所以就用python语句实现:

    def replaceString(string,num,replace):                             #定义一个函数,用于对字符串指定位置进行替换
        string2 = ''                                                                     #空字符串,用以存储新字符串
        for i in range(len(string)):                                             #遍历字符串中每一个字符
            if (i+1) % num ==0:                                                  #判断需要替换的位置
                string2 += replace                                                #字符串加上替换后的字符
            else:
                string2 += string[i]                                                #非替换位置用原字符串
        return string2                                                                #返回替换后的字符串

    file= open('F:/IMEIfirst.txt','r+',encoding='utf-8')               # 以读写模式打开原IMEI文件
    textcon=file.read()                                                            #获取文件内容,注意read() 、readline() 、readlines()的区别
    b=replaceString(textcon,640,' ')                                     #使用前面的替换函数进行替换,在第640(IMEI是15位,加上逗号是16位,40个就是640位)个位置,替换为换行符
    #file.close()
    #file= open('F:/IMEIfirst.txt','w+',encoding='utf-8')           #  如果不需要原文件中的内容了,就用 屏蔽的这2行,下面写的时候,就不用加换行符了。
    file.writelines(' '+b)                                                         #写入替换后的数据,用换行符和前面的数据进行区分。
    file.close()

    写在后面:

    原来是想通过re模块的sub方法来实现替换的。可惜正则表达式学的不精,只好用代码来实现了。

  • 相关阅读:
    反射的基础详解
    数组,排序,枚举
    继承,多态,抽象,接口
    视图层 view
    常用类Object,String类详解
    模板层 Template
    自定义注解
    Django 高级
    常用类Math,StringBuffer,包装类,Date
    内部类,异常
  • 原文地址:https://www.cnblogs.com/jintianniu/p/13393380.html
Copyright © 2011-2022 走看看