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基础教程之python消息摘要算法使用示例
Feb 10 Python
简单谈谈python的反射机制
Jun 28 Python
使用Python3制作TCP端口扫描器
Apr 17 Python
python设置值及NaN值处理方法
Jul 03 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
python 字典访问的三种方法小结
Dec 05 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
parser.add_argument中的action使用
Apr 20 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笔记之:AOP的应用
2013/04/24 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
详解Python编程中time模块的使用
2015/11/20 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
python如何实现反向迭代
2018/03/20 Python
查看django版本的方法分享
2018/05/14 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
python实现飞机大战项目
2020/03/11 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
高中英语教学反思
2014/02/04 职场文书
触电现场处置方案
2014/05/14 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
2015年政府采购工作总结
2015/05/21 职场文书