python查找文本文档中特定间隔位置的字符并替换

Posted 金天牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法来实现替换的。可惜正则表达式学的不精,只好用代码来实现了。

以上是关于python查找文本文档中特定间隔位置的字符并替换的主要内容,如果未能解决你的问题,请参考以下文章

如何从python中的文本文档中删除所有标点符号和其他符号?

JavaScript删除文本文档中每第3行的文本

查找哈希集中每个单词在文本文档中出现的次数

使用 sklearn tf-idf 查找矢量化文本文档中的簇数

我如何编写一种方法来“退格”文本文档中的一行

通过添加跨度突出显示文本文档中的字符串