网络编程
位置:首页>> 网络编程>> Python编程>> python处理文本文件并生成指定格式的文件

python处理文本文件并生成指定格式的文件

作者:whsnow  发布时间:2021-05-16 15:43:42 

标签:文本文件,指定格式

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)

#判断是否满足某个条件,如果满足则执行
def isTrue(outFileIns,s):
 findStr1 = "LINE_COUNT_UPDATE   INTEGER := 0;"
 writeStr1 = "LINE_COUNT_ERROR    INTEGER := 0;    --错误数据XX条"
 findStr2 = "DBMS_OUTPUT.PUT_LINE('处理完毕"
 writeStr2 = "DBMS_OUTPUT.PUT_LINE('错误数据['||LINE_COUNT_ERROR||']条.');"
 findStr3 = "DBMS_OUTPUT.PUT_LINE('插入数据['||CUR_RESULT.INT_ID||']时发生异常...');"
 writeStr3 = "LINE_COUNT_ERROR := LINE_COUNT_ERROR+1;"
 findStr4 = "DBMS_OUTPUT.PUT_LINE('更新数据['||CUR_RESULT.INT_ID||']时发生异常...');"

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()
0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com