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
投稿

猜你喜欢

  • go smtp实现邮件发送示例详解

    2023-06-23 22:05:14
  • SQL实现查询某字段的值为空的记录

    2024-01-18 13:44:56
  • Python数据分析中Groupby用法之通过字典或Series进行分组的实例

    2023-03-08 12:56:01
  • 简述MySQL主键和外键使用及说明

    2024-01-13 19:29:28
  • 盘点Python加密解密模块hashlib的7种加密算法(推荐)

    2021-09-19 01:02:01
  • SQL Server下几个危险的扩展存储过程

    2024-01-18 06:49:25
  • 用于统计项目中代码总行数的Python脚本分享

    2022-05-11 17:37:11
  • python脚本开机自启的实现方法

    2023-10-04 17:07:15
  • Python回调函数用法实例详解

    2021-04-10 14:31:15
  • Python图像特效之模糊玻璃效果

    2022-09-08 11:38:21
  • Python读取Pickle文件信息并计算与当前时间间隔的方法分析

    2023-11-17 20:18:13
  • mysql 8.0.22压缩包完整安装与配置教程图解(亲测安装有效)

    2024-01-25 05:26:14
  • python下的opencv画矩形和文字注释的实现方法

    2022-12-26 22:27:17
  • onerror图片失效时显示其他图片

    2008-08-11 21:05:00
  • 利用Python开发实现简单的记事本

    2023-07-02 13:27:27
  • 基于python3+OpenCV实现人脸和眼睛识别

    2023-06-08 04:20:14
  • 深入解析HetuEngine实现On Yarn原理

    2023-10-12 17:56:09
  • Pycharm运行加载文本出现错误的解决方法

    2021-02-01 09:07:18
  • Python将图片转换为字符画的方法

    2022-06-15 07:52:27
  • Vue+ElementUI实现表单动态渲染、可视化配置的方法

    2024-04-27 15:56:15
  • asp之家 网络编程 m.aspxhome.com