本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本。
文本基础操作
打开文件: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 用正则表达式筛选文本信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
我在正确表达ElasticSearch regexp过滤器的regexp时遇到了问题。我正在尝试匹配url字段中“info-for/media”中的任何内容,例如http://mydomain.co.uk/info-for/media/press-release-1。为了尝试获得正确的正则表达式,我现在使用,但最终将是带有用户查询字符串的。 发布到localhost:9200/_search 这返
本文向大家介绍PowerShell中使用正则表达式筛选数组实例,包括了PowerShell中使用正则表达式筛选数组实例的使用技巧和注意事项,需要的朋友参考一下 本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容。 先看下面这个例子: 我们知道ipconfig是显示当前计算机的TCP/IP配置信息的,其中有一项是IP地址。如果有多个网卡,或者一个网站上配置有多
本文向大家介绍python使用正则筛选信用卡,包括了python使用正则筛选信用卡的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python使用正则筛选信用卡的具体代码,供大家参考,具体内容如下 本文来源于两个简单的题目: 1.判断一对单词是否是" Anagrams " 2.判断信用卡是否合理 判断 Anagramsstrong> anagrams 的百度翻译:由颠倒字母顺序而构成
我想在其中一列上使用正则表达式干净地过滤数据帧。 举一个人为的例子: 我想使用正则表达式过滤以开头的行。第一次去: 那不是太有用。然而,这将得到我的布尔索引: 所以我可以这样做我的限制: 这让我人为地把一组人加入正则表达式,似乎这不是一个干净的方法。有更好的方法吗?
通常,当我想在python中使用正则表达式删除两个字符串之间的文本时,我会这样做: 其中 是我的文本,我使用上面的代码删除 z1 和 AA 之间的所有内容(包括 和 )。但是现在我正在努力为以下方面做同样的事情: 我有下面的字符串(来自乳胶。txt文件): 我的目标是替换所有的东西,从到最后一行的最后一个。我尝试了几个正则表达式组合,如和其他组合,但没有成功…我做错了什么?
本文向大家介绍Python正则表达式使用经典实例,包括了Python正则表达式使用经典实例的使用技巧和注意事项,需要的朋友参考一下 下面列出Python正则表达式的几种匹配用法,具体内容如下所示: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm 1.测试正则表达式是否匹配字符串的全部或部分 2.测试正则表达式是否匹配整个字符串 3.创