python 用正則表達(dá)式篩選文本信息的實(shí)例
本文主要介紹如何對(duì)多個(gè)文本進(jìn)行讀取,并采用正則表達(dá)式對(duì)其中的信息進(jìn)行篩選,將篩選出來(lái)的信息存寫到一個(gè)新文本。
文本基礎(chǔ)操作
打開文件:open(‘文件名',‘打開方式')>>>file=open(r'C:\Users\yuanlei\Desktop\mytxt.txt','w+').為避免報(bào)錯(cuò),在文件名的引號(hào)前加個(gè)r.
文件打開方式:只讀——r或rt,rb為二進(jìn)制文件;打開文件前清空文件內(nèi)容——w或wt;在文末寫入——a+;
清空內(nèi)容然后在文末寫入——w+;寫到文件任意位置——r+;
關(guān)閉文件:文件打開運(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ù)寫入新文本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è)參考,也希望大家多多支持腳本之家。
- Python正則表達(dá)式學(xué)習(xí)小例子
- python正則表達(dá)式實(shí)例代碼
- Python編程快速上手——正則表達(dá)式查找功能案例分析
- python 正則表達(dá)式參數(shù)替換實(shí)例詳解
- python正則表達(dá)式匹配IP代碼實(shí)例
- python 正則表達(dá)式貪婪模式與非貪婪模式原理、用法實(shí)例分析
- Python 正則表達(dá)式爬蟲使用案例解析
- Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能示例
- python正則表達(dá)式匹配[]中間為任意字符的實(shí)例
- python 使用正則表達(dá)式按照多個(gè)空格分割字符的實(shí)例
- Python爬蟲之正則表達(dá)式基本用法實(shí)例分析
- Python3使用正則表達(dá)式爬取內(nèi)涵段子示例
- python的re正則表達(dá)式實(shí)例代碼
- python正則表達(dá)式及使用正則表達(dá)式的例子
- python里使用正則表達(dá)式的組嵌套實(shí)例詳解
- 學(xué)會(huì)Python正則表達(dá)式,就看這20個(gè)例子(腳本之家修正版)
相關(guān)文章
pyinstaller打包python3.6和PyQt5中各種錯(cuò)誤的解決方案匯總
pyinstaller是打包python很方便的一個(gè)套件,我們可以很輕易地使用他,下面這篇文章主要給大家介紹了關(guān)于pyinstaller打包python3.6和PyQt5中各種錯(cuò)誤解決的相關(guān)資料,需要的朋友可以參考下2022-08-08python如何通過(guò)psutil獲取服務(wù)器cpu、內(nèi)存、磁盤使用率
這篇文章主要介紹了python通過(guò)psutil獲取服務(wù)器cpu,內(nèi)存,磁盤使用率,使用psutil,可以很方便地監(jiān)控系統(tǒng)的運(yùn)行狀況,診斷問(wèn)題和優(yōu)化性能,需要的朋友可以參考下2023-04-04Python實(shí)現(xiàn)json對(duì)值進(jìn)行模糊搜索的示例詳解
我經(jīng)常使用json進(jìn)行存儲(chǔ)配置,于是常常遇到這樣的問(wèn)題:如果想要對(duì)某個(gè)數(shù)組里的值進(jìn)行模糊搜索,同時(shí)輸出相關(guān)的其他數(shù)組相同位置的的值該如何實(shí)現(xiàn)呢?本文就來(lái)和大家詳細(xì)聊聊2023-01-01深入理解Python虛擬機(jī)中列表(list)的實(shí)現(xiàn)原理及源碼剖析
在本篇文章當(dāng)中主要給大家介紹?cpython?虛擬機(jī)當(dāng)中針對(duì)列表的實(shí)現(xiàn),在?Python?中,List?是一種非常常用的數(shù)據(jù)類型,可以存儲(chǔ)任何類型的數(shù)據(jù),并且支持各種操作,如添加、刪除、查找、切片等,在本篇文章當(dāng)中將深入去分析這一點(diǎn)是如何實(shí)現(xiàn)的2023-03-03Python Multinomial Naive Bayes多項(xiàng)貝葉斯模型實(shí)現(xiàn)原理介紹
這篇文章主要介紹了Python Multinomial Naive Bayes多項(xiàng)貝葉斯模型實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-09-09