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中不同进制的语法及转换方法分析
Jul 27 Python
Python之日期与时间处理模块(date和datetime)
Feb 16 Python
python实现各进制转换的总结大全
Jun 18 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
python sys.argv[]用法实例详解
May 25 Python
关于python字符串方法分类详解
Aug 20 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
python和js交互调用的方法
Jun 23 Python
python 实时调取摄像头的示例代码
Nov 25 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 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
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
PHP中的表达式简述
2016/05/29 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
2017/02/04 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
python中偏函数partial用法实例分析
2015/07/08 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
Python实现基于SVM的分类器的方法
2019/07/19 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
武汉瑞得软件笔试题
2015/10/27 面试题
焊接专业毕业生求职信
2013/10/01 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
2014年环卫工作总结
2014/11/22 职场文书