python 用正則表達(dá)式篩選文本信息的實(shí)例
本文主要介紹如何對(duì)多個(gè)文本進(jìn)行讀取,并采用正則表達(dá)式對(duì)其中的信息進(jìn)行篩選,將篩選出來(lái)的信息存寫(xiě)到一個(gè)新文本。
文本基礎(chǔ)操作
打開(kāi)文件:open(‘文件名',‘打開(kāi)方式')>>>file=open(r'C:\Users\yuanlei\Desktop\mytxt.txt','w+').為避免報(bào)錯(cuò),在文件名的引號(hào)前加個(gè)r.
文件打開(kāi)方式:只讀——r或rt,rb為二進(jìn)制文件;打開(kāi)文件前清空文件內(nèi)容——w或wt;在文末寫(xiě)入——a+;
清空內(nèi)容然后在文末寫(xiě)入——w+;寫(xiě)到文件任意位置——r+;
關(guān)閉文件:文件打開(kāi)運(yùn)行好后必須要關(guān)閉——文件名.close()>>>mytxt.close()
讀取文件中的內(nèi)容:將每行內(nèi)容,包括換行符,作為一個(gè)元素存入數(shù)組——lines=file_object.readlines(),但是這樣會(huì)把換行符也賦進(jìn)去
去除換行符——new_lines=lines.splitlines()
os包:import os 獲取文件地址——os.listdir(父文件地址)
下面附上實(shí)現(xiàn)摘要中說(shuō)的功能的完整代碼:
# coding: utf-8 #讀取文本中的中英文數(shù)據(jù)并使用正則表達(dá)式將所需數(shù)據(jù)篩選入到一個(gè)新文本中 import re import os #zhengze函數(shù)對(duì)讀取到的數(shù)據(jù)進(jìn)行篩選,并將篩選好的數(shù)據(jù)存入數(shù)組new_lines new_lines=[] #申明new_lines數(shù)組 def zhengze(f): regex_str=".*?(l.*?e).*" for x in f: new_x = x.splitlines() #注意:splitlines是將傳入的字符串去除'\n'之后以數(shù)組的形式傳出,而不是字符串形式 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 #獲取指定文件夾下的所有文本的絕對(duì)地址,并存入數(shù)組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 #對(duì)每個(gè)文本調(diào)用正則函數(shù)進(jìn)行篩選,篩選過(guò)后的數(shù)據(jù)存入數(shù)組final for adress in file_path: file_object=open(adress) lines = file_object.readlines( ) #將文本中的內(nèi)容以數(shù)組的形式(每行為一個(gè)元素)賦給lines file_object.close() final=zhengze(lines) print final #將篩選出來(lái)的數(shù)據(jù)寫(xiě)入新文本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 用正則表達(dá)式篩選文本信息的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。
欄 目:正則表達(dá)式
下一篇:正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三種功能
本文標(biāo)題:python 用正則表達(dá)式篩選文本信息的實(shí)例
本文地址:http://mengdiqiu.com.cn/a1/zhengzebiaodashi/11233.html
您可能感興趣的文章
- 01-11正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三種功能
- 01-11正則表達(dá)式之匹配數(shù)字范圍
- 01-11python爬蟲(chóng)正則表達(dá)式之處理?yè)Q行符
- 01-11正則表達(dá)式匹配路由的實(shí)現(xiàn)代碼
- 01-11正則表達(dá)式截取身份證號(hào)碼加密的方法
- 01-11js正則表達(dá)式 匹配兩個(gè)特定字符間的內(nèi)容示例
- 01-11MySQL使用正則表達(dá)式進(jìn)行查詢(xún)操作經(jīng)典實(shí)例總結(jié)
- 01-11python正則表達(dá)式之對(duì)號(hào)入座篇
- 01-11詳解正則表達(dá)式實(shí)現(xiàn)二代身份證號(hào)碼驗(yàn)證
- 01-11Python爬蟲(chóng)之正則表達(dá)式基本用法實(shí)例分析


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-11正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三
- 01-11正則表達(dá)式之匹配數(shù)字范圍
- 01-11python 用正則表達(dá)式篩選文本信息的實(shí)
- 01-11正則表達(dá)式匹配路由的實(shí)現(xiàn)代碼
- 01-11python爬蟲(chóng)正則表達(dá)式之處理?yè)Q行符
- 01-11js正則表達(dá)式 匹配兩個(gè)特定字符間的
- 01-11正則表達(dá)式截取身份證號(hào)碼加密的方
- 01-11python正則表達(dá)式之對(duì)號(hào)入座篇
- 01-11MySQL使用正則表達(dá)式進(jìn)行查詢(xún)操作經(jīng)典
- 01-11詳解正則表達(dá)式實(shí)現(xiàn)二代身份證號(hào)碼
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 04-02jquery與jsp,用jquery
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什