python找出文本的位置和替换_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方法來實現替換的。可惜正則表達式學的不精,只好用代碼來實現了。
原文:https://www.cnblogs.com/jintianniu/p/13393380.html
總結
以上是生活随笔為你收集整理的python找出文本的位置和替换_python查找文本文档中特定间隔位置的字符并替换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于单片机自动升旗系统_基于视觉定位的机
- 下一篇: python123文件和数据格式化测试7