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 相关文章推荐
Python中的pass语句使用方法讲解
May 14 Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 Python
Python编程实现的简单神经网络算法示例
Jan 26 Python
NumPy 数组使用大全
Apr 25 Python
对python3.4 字符串转16进制的实例详解
Jun 12 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
python神经网络编程实现手写数字识别
May 27 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
Python在线和离线安装第三方库的方法
Oct 31 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 Python
python运行脚本文件的三种方法实例
Jun 25 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
Dec 24 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
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
五个PHP程序员工具
2008/05/26 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
jQuery中after()方法用法实例
2014/12/25 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
python实现根据图标提取分类应用程序实例
2014/09/28 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
python flask解析json数据不完整的解决方法
2019/05/26 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
夜大毕业生自我鉴定
2013/10/31 职场文书
保险专业自荐信范文
2014/02/20 职场文书
先进个人申报材料
2014/12/30 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL