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開發(fā)環(huán)境設置
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10C#中split用法實例總結
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 04-02jquery與jsp,用jquery
- 01-11ajax實現頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什