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 多线程应用介绍
Dec 19 Python
Python去除字符串两端空格的方法
May 21 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
Django使用Celery异步任务队列的使用
Mar 13 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
解决pytorch 的state_dict()拷贝问题
Mar 03 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
May 20 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访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
file_get_contents("php://input", "r")实例介绍
2013/07/01 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
php远程下载类分享
2016/04/13 PHP
laravel请求参数校验方法
2019/10/10 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
PHP如何自定义函数
2016/09/16 面试题
中科前程Java笔试题
2016/11/20 面试题
小学生优秀评语大全
2014/04/22 职场文书
水电站项目建议书
2014/05/12 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
师范生教育见习总结
2015/06/23 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL