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守护进程和脚本单例运行详解
Jan 06 Python
python十进制和二进制的转换方法(含浮点数)
Jul 07 Python
Pycharm设置去除显示的波浪线方法
Oct 28 Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
wxpython布局的实现方法
Nov 01 Python
Django choices下拉列表绑定实例
Mar 13 Python
Python爬虫获取豆瓣电影并写入excel
Jul 31 Python
django和flask哪个值得研究学习
Jul 31 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
python 详解turtle画爱心代码
Feb 15 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
第二节--PHP5 的对象模型
2006/11/16 PHP
PHP 字符串 小常识
2009/06/05 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
jQuery中animate()方法用法实例
2014/12/24 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
通过python爬虫赚钱的方法
2019/01/29 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
火锅店营销方案
2014/02/26 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
班级文化建设标语
2014/06/23 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
高中生毕业评语
2014/12/30 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
python源码剖析之PyObject详解
2021/05/18 Python
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js