python处理文本文件并生成指定格式的文件


Posted in Python onJuly 31, 2014
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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
Python中Random和Math模块学习笔记
May 18 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
python实现抖音视频批量下载
Jun 20 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
Python安装pycurl失败的解决方法
Oct 15 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
python IP地址转整数
Nov 20 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 Python
手把手教你怎么用Python实现zip文件密码的破解
May 27 Python
Python中关键字is与==的区别简述
Jul 31 #Python
python处理文本文件实现生成指定格式文件的方法
Jul 31 #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
You might like
PHP4实际应用经验篇(1)
2006/10/09 PHP
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
php搜索文件程序分享
2015/10/30 PHP
php格式化时间戳
2016/12/17 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
JS获取时间的方法
2015/01/21 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
python实现zabbix发送短信脚本
2018/09/17 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
大学应届毕业生个人求职信
2013/09/23 职场文书
大学旷课检讨书
2014/01/28 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
服务承诺书怎么写
2014/05/24 职场文书
Python字符串常规操作小结
2022/04/03 Python