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


Posted in Python onJuly 31, 2014
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基本数据类型详细介绍
Mar 11 Python
Python3实现从文件中读取指定行的方法
May 22 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
Python中定时任务框架APScheduler的快速入门指南
Jul 06 Python
对tensorflow 的模型保存和调用实例讲解
Jul 28 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
jupyter实现重新加载模块
Apr 16 Python
python爬虫scrapy框架之增量式爬虫的示例代码
Feb 26 Python
Django中celery的使用项目实例
Jul 07 Python
Python中关键字is与==的区别简述
Jul 31 #Python
python处理文本文件实现生成指定格式文件的方法
Jul 31 #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
You might like
基于mysql的bbs设计(三)
2006/10/09 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
PHP编程风格规范分享
2014/01/15 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
使用JavaScript创建新样式表和新样式规则
2016/06/14 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
详解webpack多页面配置记录
2018/01/22 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
Python3简单实现串口通信的方法
2019/06/12 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
python实现学生通讯录管理系统
2021/02/25 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
写自荐信三大法宝
2014/01/24 职场文书
电视购物广告词
2014/03/19 职场文书
优质服务演讲稿
2014/05/14 职场文书
村党支部公开承诺书
2014/05/29 职场文书
社会心理学学习心得体会
2016/01/22 职场文书