• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python 用正则表达式筛选文本信息的实例

python 搞代码 4年前 (2022-01-08) 29次浏览 已收录 0个评论

今天小编就为大家分享一篇python 用正则表达式筛选文本信息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新来源gaodaimacom搞#代%码网文本。

文本基础操作

打开文件: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 用正则表达式筛选文本信息的实例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python 用正则表达式筛选文本信息的实例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址