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 def函数的定义、使用及参数传递实现代码
Aug 10 Python
Python多进程编程技术实例分析
Sep 16 Python
python实现报表自动化详解
Nov 16 Python
基于Python中capitalize()与title()的区别详解
Dec 09 Python
在Python中使用Neo4j的方法
Mar 14 Python
一行python实现树形结构的方法
Aug 09 Python
python数值基础知识浅析
Nov 19 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
Python面向对象编程之类的概念
Nov 01 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
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
13个PHP函数超实用
2015/10/21 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
奇怪的鱼:Weird Fish
2018/03/18 全球购物
全球性的女装店:storets
2019/06/12 全球购物
学习决心书范文
2014/03/11 职场文书
学风建设演讲稿
2014/09/12 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
老公保证书怎么写
2015/02/26 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
Redis Cluster 集群搭建你会吗
2021/08/04 Redis