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实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
windows下python连接oracle数据库
Jun 07 Python
基于Python中capitalize()与title()的区别详解
Dec 09 Python
python实现彩票系统
Jun 28 Python
python消除序列的重复值并保持顺序不变的实例
Nov 08 Python
Python实现的拉格朗日插值法示例
Jan 08 Python
PyQt5 QTable插入图片并动态更新的实例
Jun 18 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 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 strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
python requests使用socks5的例子
2019/07/25 Python
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
计算机应用专业推荐信
2013/11/13 职场文书
《美丽的公鸡》教学反思
2014/02/25 职场文书
给小学生的新年寄语
2014/04/04 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
小学国庆节活动总结
2015/03/23 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
2015年教师国培感言
2015/08/01 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang