python處理文本文件并生成指定格式的文件
更新時(shí)間:2014年07月31日 16:55:13 投稿:whsnow
本節(jié)主要介紹了python如何處理文本文件并生成指定格式的文件,需要的朋友可以參考下
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()
您可能感興趣的文章:
- Python使用email模塊對(duì)郵件進(jìn)行編碼和解碼的實(shí)例教程
- Python簡(jiǎn)單實(shí)現(xiàn)Base64編碼和解碼的方法
- Python中json格式數(shù)據(jù)的編碼與解碼方法詳解
- Python base64編碼解碼實(shí)例
- 對(duì)python中url參數(shù)編碼與解碼的實(shí)例詳解
- 詳解Python中的文本處理
- Python文本處理之按行處理大文件的方法
- Python實(shí)現(xiàn)簡(jiǎn)單文本字符串處理的方法
- Python處理文本文件中控制字符的方法
- Python編解碼問(wèn)題及文本文件處理方法詳解
相關(guān)文章
詳解Python list 與 NumPy.ndarry 切片之間的對(duì)比
這篇文章主要介紹了詳解Python list 與 NumPy.ndarry 切片之間的區(qū)別的相關(guān)資料,list 切片返回的是不原數(shù)據(jù),對(duì)新數(shù)據(jù)的修改不會(huì)影響原數(shù)據(jù)而NumPy.ndarry 的切片返回的是原數(shù)據(jù)需要的朋友可以參考下2017-07-07M1芯片Mac上Anaconda的暫時(shí)替代(miniforge)
這篇文章主要介紹了M1芯片Mac上Anaconda的暫時(shí)替代(miniforge),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python+unittest+requests實(shí)現(xiàn)接口自動(dòng)化的方法
這篇文章主要介紹了python+unittest+requests實(shí)現(xiàn)接口自動(dòng)化的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Python常用的json標(biāo)準(zhǔn)庫(kù)
今天小編就為大家分享一篇關(guān)于Python常用的json標(biāo)準(zhǔn)庫(kù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02python微信公眾號(hào)之關(guān)注公眾號(hào)自動(dòng)回復(fù)
這篇文章主要為大家詳細(xì)介紹了python微信公眾號(hào)之關(guān)注公眾號(hào)自動(dòng)回復(fù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10用python實(shí)現(xiàn)刷點(diǎn)擊率的示例代碼
今天小編就為大家分享一篇用python實(shí)現(xiàn)刷點(diǎn)擊率的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02