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 28 Python
django输出html内容的实例
May 27 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
python二维列表一维列表的互相转换实例
Jul 02 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
Django框架模板文件使用及模板文件加载顺序分析
May 23 Python
Django之创建引擎索引报错及解决详解
Jul 17 Python
Django框架模板用法入门教程
Nov 04 Python
Pytorch实现基于CharRNN的文本分类与生成示例
Jan 08 Python
python批量修改xml属性的实现方式
Mar 05 Python
python学习笔记之多进程
Aug 06 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 MVC模式在网站架构中的实现分析
2010/03/04 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
php获取远程文件大小
2015/10/20 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
python中子类调用父类函数的方法示例
2017/08/18 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
python中封包建立过程实例
2021/02/18 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
体育教师求职信
2014/05/24 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
计划生育目标责任书
2015/05/09 职场文书
素质教育培训心得体会
2016/01/19 职场文书
Redis 常见使用场景
2021/08/30 Redis