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 list 合并连接字符串的方法
Mar 09 Python
Python闭包之返回函数的函数用法示例
Jan 27 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
Windows下python3.7安装教程
Jul 31 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
Python实现Event回调机制的方法
Feb 13 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
Python3进制之间的转换代码实例
Aug 24 Python
python实现tail -f 功能
Jan 17 Python
python自动下载图片的方法示例
Mar 25 Python
python要安装在哪个盘
Jun 15 Python
如何利用python 读取配置文件
Jan 06 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程序?
2006/12/08 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中的类学习笔记
2014/09/23 Python
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
使用TensorFlow实现SVM
2018/09/06 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
python3中rank函数的用法
2019/11/27 Python
Django数据统计功能count()的使用
2020/11/30 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
班级口号大全
2014/06/09 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书