python 用正则表达式筛选文本信息的实例
本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本。
文本基础操作
打开文件: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 用正则表达式筛选文本信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
您可能感兴趣的文章
- 01-11正则表达式实现添加、删除、替换三种功能
- 01-11正则表达式之匹配数字范围
- 01-11python爬虫正则表达式之处理换行符
- 01-11正则表达式匹配路由的实现代码
- 01-11正则表达式截取身份证号码加密的方法
- 01-11js正则表达式 匹配两个特定字符间的内容示例
- 01-11MySQL使用正则表达式进行查询操作经典实例总结
- 01-11python正则表达式之对号入座篇
- 01-11详解正则表达式实现二代身份证号码验证
- 01-11Python爬虫之正则表达式基本用法实例分析
阅读排行
本栏相关
- 01-11正则表达式实现添加、删除、替换三
- 01-11正则表达式之匹配数字范围
- 01-11python 用正则表达式筛选文本信息的实
- 01-11正则表达式匹配路由的实现代码
- 01-11python爬虫正则表达式之处理换行符
- 01-11js正则表达式 匹配两个特定字符间的
- 01-11正则表达式截取身份证号码加密的方
- 01-11python正则表达式之对号入座篇
- 01-11MySQL使用正则表达式进行查询操作经典
- 01-11详解正则表达式实现二代身份证号码
随机阅读
- 01-10delphi制作wav文件的方法
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10C#中split用法实例总结
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 04-02jquery与jsp,用jquery
- 01-11ajax实现页面的局部加载
- 08-05DEDE织梦data目录下的sessions文件夹有什