python处理文本文件实现生成指定格式文件的方法

来源:互联网 发布:淘宝退款成功几天到账 编辑:程序博客网 时间:2024/04/27 14:03

python处理文本文件实现生成指定格式文件的方法

关于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) 

#判断是否满足某个条件,如果满足则执行 
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 0
原创粉丝点击