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读写Redis数据库操作示例
Mar 18 Python
Python随手笔记之标准类型内建函数
Dec 02 Python
Python语言的变量认识及操作方法
Feb 11 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
关于pytorch中网络loss传播和参数更新的理解
Aug 20 Python
基于pandas中expand的作用详解
Dec 17 Python
Python SMTP配置参数并发送邮件
Jun 16 Python
Python OpenCV 图像平移的实现示例
Jun 04 Python
python字典进行运算原理及实例分享
Aug 02 Python
python神经网络 使用Keras构建RNN训练
May 04 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
PHP 时间日期操作实战
2011/08/26 PHP
php中动态变量用法实例
2015/06/10 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
PHP实现简单登录界面
2019/10/23 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
法国综合购物网站:RueDuCommerce
2016/09/12 全球购物
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
政风行风评议心得体会
2014/10/21 职场文书
2014年学生会工作总结
2014/11/07 职场文书
研讨会通知
2015/04/27 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript