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开发编码规范
Sep 08 Python
python 判断一个进程是否存在
Apr 09 Python
Python读写Excel文件的实例
Nov 01 Python
pandas通过loc生成新的列方法
Nov 28 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 Python
Python threading的使用方法解析
Aug 28 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
python画环形图的方法
Mar 25 Python
python函数调用,循环,列表复制实例
May 03 Python
python爬虫要用到的库总结
Jul 28 Python
python自动化八大定位元素讲解
Jul 09 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数组
2006/10/09 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
JavaScript中null与undefined分析
2009/07/25 Javascript
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
详解jquery和vue对比
2019/04/16 jQuery
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
Python Sleep休眠函数使用简单实例
2015/02/02 Python
python基于右递归解决八皇后问题的方法
2015/05/25 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
公司财务流程之主管工作流程
2014/03/03 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
婚前协议书范本两则
2014/10/16 职场文书
手机销售员岗位职责
2015/04/11 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
详解Nginx 工作原理
2021/03/31 Servers