python处理文本文件实现生成指定格式文件的方法


Posted in Python onJuly 31, 2014

本文所述实例为Python处理文本文件并生成指定格式文件的方法,具体实现功能代码如下所示:

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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
详解Python中for循环的使用方法
May 14 Python
理解Python垃圾回收机制
Feb 12 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
简单了解OpenCV是个什么东西
Nov 10 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 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
Python中lambda的用法及其与def的区别解析
Jul 28 #Python
python代码制作configure文件示例
Jul 28 #Python
You might like
php将金额数字转化为中文大写
2015/07/09 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
vue如何集成raphael.js中国地图的方法示例
2017/08/15 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
python正则表达式match和search用法实例
2015/03/26 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
英国在线花园中心:You Garden
2018/06/03 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
介绍一下RMI的基本概念
2016/12/17 面试题
教师求职推荐信范文
2013/11/20 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
一夜的工作教学反思
2014/02/08 职场文书
2015元旦节寄语
2014/12/08 职场文书
母亲节感言
2015/08/03 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
2019年最新借条范本!
2019/07/08 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python