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通过pil为png图片填充上背景颜色的方法
Mar 17 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
python xml解析实例详解
Nov 14 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
Python中join函数简单代码示例
Jan 09 Python
Python 错误和异常代码详解
Jan 29 Python
django的登录注册系统的示例代码
May 14 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
深度辨析Python的eval()与exec()的方法
Mar 26 Python
详解python列表生成式和列表生成式器区别
Mar 27 Python
python-jwt用户认证食用教学的实现方法
Jan 19 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 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
js实现移动端轮播图效果
2020/12/09 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
java直接调用python脚本的例子
2014/02/16 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
一个入门级python爬虫教程详解
2021/01/27 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
文明班集体申报材料
2014/05/23 职场文书
2014年售后服务工作总结
2014/11/18 职场文书
2014年保管员工作总结
2014/11/18 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python
浅谈MySQL之select优化方案
2021/08/07 MySQL
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL