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下载Bing图片(代码)
Nov 07 Python
Python操作串口的方法
Jun 17 Python
利用PyInstaller将python程序.py转为.exe的方法详解
May 03 Python
python验证码识别实例代码
Feb 03 Python
Python神奇的内置函数locals的实例讲解
Feb 22 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
Jun 21 Python
Python matplotlib学习笔记之坐标轴范围
Jun 28 Python
python字符串中匹配数字的正则表达式
Jul 03 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
Python3 Tkinkter + SQLite实现登录和注册界面
Nov 19 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
Python lambda表达式原理及用法解析
Aug 18 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
一个程序下载的管理程序(四)
2006/10/09 PHP
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
Python获取邮件地址的方法
2015/07/10 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
python实现log日志的示例代码
2018/04/28 Python
Django 连接sql server数据库的方法
2018/06/30 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
毕业生求职自荐信怎么写
2014/01/08 职场文书
迟到早退检讨书
2014/02/10 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
表扬信范文
2015/05/04 职场文书
创业计划书之网吧
2019/10/10 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP