python查找文本文档中特定间隔位置的字符并替换
实际工作中,从数据库里导出了几万条IMEI到excel中,现在需要把这些IMEI每40个分一组,保存在txt文档中,方便进行性能测试时调用。
1.excel中的IMEI以常规格式显示了,虽然内容是15数字,但看着是科学计数方法。Excel中,单元格格式改为数值,小数位数改为0,即能正常显示;
2.拷贝excel中的IMEI列,放到txt文档中,是一行显示一个IMEI,而一组IMEI之间是用逗号隔开;用notepad++工具打开,进行替换:查找目标为\r\n,替换为,查找模式选择“扩展”,即可完成全文替换为IMEI之间用逗号隔开。此文件保存为IMEIfirst.txt
3.因40个IMEI为一组,则需要把第40个IMEI后的逗号,重新替换为换行符\n;要替换的比较多,所以就用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,'\n') #使用前面的替换函数进行替换,在第640(IMEI是15位,加上逗号是16位,40个就是640位)个位置,替换为换行符
#file.close()
#file= open('F:/IMEIfirst.txt','w+',encoding='utf-8') # 如果不需要原文件中的内容了,就用 屏蔽的这2行,下面写的时候,就不用加换行符了。
file.writelines('\n'+b) #写入替换后的数据,用换行符和前面的数据进行区分。
file.close()
写在后面:
原来是想通过re模块的sub方法来实现替换的。可惜正则表达式学的不精,只好用代码来实现了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构