python 用正则表达式筛选文本信息的实例


Posted in Python onJune 05, 2018

本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本。

文本基础操作

打开文件:open(‘文件名',‘打开方式')>>>file=open(r'C:\Users\yuanlei\Desktop\mytxt.txt','w+').为避免报错,在文件名的引号前加个r.

文件打开方式:只读——r或rt,rb为二进制文件;打开文件前清空文件内容——w或wt;在文末写入——a+;

清空内容然后在文末写入——w+;写到文件任意位置——r+;

关闭文件:文件打开运行好后必须要关闭——文件名.close()>>>mytxt.close()

读取文件中的内容:将每行内容,包括换行符,作为一个元素存入数组——lines=file_object.readlines(),但是这样会把换行符也赋进去

去除换行符——new_lines=lines.splitlines()

os包:import os 获取文件地址——os.listdir(父文件地址)

下面附上实现摘要中说的功能的完整代码:

# coding: utf-8
#读取文本中的中英文数据并使用正则表达式将所需数据筛选入到一个新文本中
import re
import os

#zhengze函数对读取到的数据进行筛选,并将筛选好的数据存入数组new_lines
new_lines=[]    #申明new_lines数组
def zhengze(f):
 regex_str=".*?(l.*?e).*"
 for x in f:
  new_x = x.splitlines()  #注意:splitlines是将传入的字符串去除'\n'之后以数组的形式传出,而不是字符串形式
  match_obj=re.match(regex_str,new_x[0])
  if match_obj:
   new_lines.append(match_obj.group(1))
  else:
   new_lines.append('no')
 return new_lines

#获取指定文件夹下的所有文本的绝对地址,并存入数组file_path
path=r'C:\Users\yuanlei\Desktop\new_file_txt'
file_path=[]
for filename in os.listdir(path):  #获取path下所有文件的路径
 file_path.append((os.path.join(path,filename)))
print file_path

#对每个文本调用正则函数进行筛选,筛选过后的数据存入数组final
for adress in file_path:
 file_object=open(adress)
 lines = file_object.readlines( )  #将文本中的内容以数组的形式(每行为一个元素)赋给lines
 file_object.close()
 final=zhengze(lines)
print final

#将筛选出来的数据写入新文本re_new.txt
file_2=open(r'C:\Users\yuanlei\Desktop\re_new.txt','w+')
for x in final:
 file_2.write(x)
 file_2.write('\n')
file_2.close()

以上这篇python 用正则表达式筛选文本信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python字典DICT类型合并详解
Aug 17 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
浅谈python中字典append 到list 后值的改变问题
May 04 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Pytorch Tensor的索引与切片例子
Aug 18 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
Sep 29 Python
python模拟点击在ios中实现的实例讲解
Nov 26 Python
python实现ping命令小程序
Dec 28 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
python和shell获取文本内容的方法
Jun 05 #Python
python 查找文件名包含指定字符串的方法
Jun 05 #Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 #Python
Python实现的读写json文件功能示例
Jun 05 #Python
python计算日期之间的放假日期
Jun 05 #Python
python检索特定内容的文本文件实例
Jun 05 #Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 #Python
You might like
PHP中for循环语句的几种变型
2007/03/16 PHP
div li的多行多列 无刷新分页示例代码
2013/10/16 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python基础教程之获取本机ip数据包示例
2014/02/10 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python实现KNN邻近算法
2021/01/28 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
乡镇个人对照检查材料
2014/08/22 职场文书
2015年底工作总结范文
2015/05/15 职场文书
女性健康讲座主持词
2015/07/04 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
利用python做表格数据处理
2021/04/13 Python