python處理文本文件實(shí)現(xiàn)生成指定格式文件的方法
本文所述實(shí)例為Python處理文本文件并生成指定格式文件的方法,具體實(shí)現(xiàn)功能代碼如下所示:
import os
import sys
import string
#以指定模式打開指定文件,獲取文件句柄
def getFileIns(filePath,model):
print("打開文件")
print(filePath)
print(model)
return open(filePath,model)
#獲取需要處理的文件
def getProcFile(path):
return os.listdir(path)
#判斷是否滿足某個(gè)條件,如果滿足則執(zhí)行
def isTrue(outFileIns,s):
findStr1 = "LINE_COUNT_UPDATE INTEGER := 0;"
writeStr1 = "LINE_COUNT_ERROR INTEGER := 0; --錯(cuò)誤數(shù)據(jù)XX條"
findStr2 = "DBMS_OUTPUT.PUT_LINE('處理完畢"
writeStr2 = "DBMS_OUTPUT.PUT_LINE('錯(cuò)誤數(shù)據(jù)['||LINE_COUNT_ERROR||']條.');"
findStr3 = "DBMS_OUTPUT.PUT_LINE('插入數(shù)據(jù)['||CUR_RESULT.INT_ID||']時(shí)發(fā)生異常...');"
writeStr3 = "LINE_COUNT_ERROR := LINE_COUNT_ERROR+1;"
findStr4 = "DBMS_OUTPUT.PUT_LINE('更新數(shù)據(jù)['||CUR_RESULT.INT_ID||']時(shí)發(fā)生異常...');"
if s.find(findStr1) != -1:
outFileIns.write(s)
outFileIns.write(writeStr1+"\n")
elif s.find(findStr2) != -1:
outFileIns.write(s)
outFileIns.write(writeStr2+"\n")
elif s.find(findStr3) != -1:
outFileIns.write(s)
outFileIns.write("\t\t\t\t"+writeStr3+"\n")
elif s.find(findStr4) != -1:
outFileIns.write(s)
outFileIns.write("\t\t\t\t\t"+writeStr3+"\n")
elif s.find("CS_OSLGIS") != -1:
outFileIns.write(s.replace("CS_OSLGIS","CQ_RMW"))
elif s.find("AND A.LONGITUDE >") != -1:
outFileIns.write("\t\t\tAND A.LONGITUDE IS NOT NULL\n\t\t\tAND A.LONGITUDE IS NOT NULL\n\t\t\tAND ROWNUM<2\n")
elif s.find(") LOOP") != -1:
outFileIns.write("\t\t) LOOP\n")
else:
outFileIns.write(s.replace("||')',2","||')',3"))
#讀取并處理文本
def getAndProc(inFileIns,outFileIns):
lines = inFileIns.readlines()
for s in lines:
#print(s)
isTrue(outFileIns,s)
if __name__=="__main__":
inFileMod = "r"
outFileMod = "w"
path = "D:\\rmsdata2gis"
for tmpFile in os.listdir(path):
inFilePath = path+"\\"+tmpFile
outFilePath = path+"\\BAK_"+tmpFile
inFileIns = getFileIns(inFilePath,inFileMod)
outFileIns = getFileIns(outFilePath,outFileMod)
getAndProc(inFileIns,outFileIns)
inFileIns.close()
outFileIns.close()
相關(guān)文章
使用pandas或numpy處理數(shù)據(jù)中的空值(np.isnan()/pd.isnull())
這篇文章主要介紹了使用pandas或numpy處理數(shù)據(jù)中的空值(np.isnan()/pd.isnull()),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python中前綴運(yùn)算符 *和 **的用法示例詳解
這篇文章主要介紹了python中前綴運(yùn)算符 *和 **的用法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-05-05
Python 圖片轉(zhuǎn)數(shù)組,二進(jìn)制互轉(zhuǎn)操作
這篇文章主要介紹了Python 圖片轉(zhuǎn)數(shù)組,二進(jìn)制互轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
python Django批量導(dǎo)入數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了python Django批量導(dǎo)入數(shù)據(jù)的相關(guān)資料感興趣的小伙伴們可以參考一下2016-03-03
Python爬蟲Xpath定位數(shù)據(jù)的兩種方法
這篇文章主要介紹了Python爬蟲Xpath定位數(shù)據(jù)的方法,第一種方法直接右鍵,將文章路徑復(fù)制下來(lái)點(diǎn)擊Copy?full?Xpath,方法二使用@制定標(biāo)簽屬性,搜索指定位置,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
python 的 openpyxl模塊 讀取 Excel文件的方法
這篇文章主要介紹了python 的 openpyxl模塊 讀取 Excel文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
python向已存在的excel中新增表,不覆蓋原數(shù)據(jù)的實(shí)例
下面小編就為大家分享一篇python向已存在的excel中新增表,不覆蓋原數(shù)據(jù)的實(shí)例,具有很好超參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05

