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 相关文章推荐
探索Python3.4中新引入的asyncio模块
Apr 08 Python
Django中使用locals()函数的技巧
Jul 16 Python
python字典键值对的添加和遍历方法
Sep 11 Python
Python简单删除列表中相同元素的方法示例
Jun 12 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
Python 实现「食行生鲜」签到领积分功能
Sep 26 Python
python 日期排序的实例代码
Jul 11 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
Python常用编译器原理及特点解析
Mar 23 Python
Django框架配置mysql数据库实现过程
Apr 22 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
Oct 31 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.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
IE6-8中Date不支持toISOString的修复方法
2014/05/04 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
jquery分页优化操作实例分析
2019/08/23 jQuery
layui表格数据复选框回显设置方法
2019/09/13 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
Python3使用SMTP发送带附件邮件
2020/06/16 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
python科学计算之narray对象用法
2019/11/25 Python
python 实现简单的FTP程序
2019/12/27 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
运动会的口号
2014/06/09 职场文书
公共场所标语
2014/06/30 职场文书
监察建议书
2015/02/04 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书