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 相关文章推荐
pycharm 使用心得(四)显示行号
Jun 05 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 Python
Python 移动光标位置的方法
Jan 20 Python
Django 过滤器汇总及自定义过滤器使用详解
Jul 19 Python
关于numpy数组轴的使用详解
Dec 05 Python
python中return如何写
Jun 18 Python
Django多个app urls配置代码实例
Nov 26 Python
Django实现在线无水印抖音视频下载(附源码及地址)
May 06 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
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
PHP和XSS跨站攻击的防范
2007/04/17 PHP
php在字符串中查找另一个字符串
2008/11/19 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python学习之asyncore模块用法实例教程
2014/09/29 Python
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
Python实现把类当做字典来访问
2019/12/16 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
高中微机老师自我鉴定
2014/02/16 职场文书
农业项目建议书
2014/08/25 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
关于晚自习早退的检讨书
2014/09/13 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
Python实现Hash算法
2022/03/18 Python