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


Posted in Python onJuly 31, 2014

本文所述实例为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()

Python 相关文章推荐
python 将字符串转换成字典dict
Mar 24 Python
python 七种邮件内容发送方法实例
Apr 22 Python
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
Python中的localtime()方法使用详解
May 22 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
pycharm安装和首次使用教程
Aug 27 Python
使用python list 查找所有匹配元素的位置实例
Jun 11 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
Jupyter notebook如何实现指定浏览器打开
May 13 Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 Python
如何利用python读取micaps文件详解
Oct 18 Python
基于Python爬取素材网站音频文件
Oct 21 Python
Python中zip()函数用法实例教程
Jul 31 #Python
Python中apply函数的用法实例教程
Jul 31 #Python
python新手经常遇到的17个错误分析
Jul 30 #Python
Python使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 #Python
Python代码的打包与发布详解
Jul 30 #Python
Python中lambda的用法及其与def的区别解析
Jul 28 #Python
python代码制作configure文件示例
Jul 28 #Python
You might like
解析php如何将日志写进syslog
2013/06/28 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
js实现进度条的方法
2015/02/13 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
JavaScript 中的 this 工作原理
2018/06/20 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
教你安装python Django(图文)
2013/11/04 Python
python3生成随机数实例
2014/10/20 Python
python flask中静态文件的管理方法
2018/03/20 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
Python基于当前时间批量创建文件
2020/05/07 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
文秘专业自荐信
2013/10/14 职场文书
学习党课思想汇报
2013/12/29 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
西安兵马俑导游词
2015/02/02 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
英语教师求职信范文
2015/03/20 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android