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)文章
使用Python實(shí)現(xiàn)快速?gòu)?fù)制或剪切文件列表中的所有文件
在程序開發(fā)的過(guò)程中,處理文件是我們?nèi)粘9ぷ髦幸粋€(gè)很重要的環(huán)節(jié),所以這篇文章小編就來(lái)和大家一起聊聊如何用Python來(lái)快速?gòu)?fù)制或剪切一個(gè)文件列表中的所有文件吧2025-04-04
Python設(shè)計(jì)模式之享元模式原理與用法實(shí)例分析
這篇文章主要介紹了Python設(shè)計(jì)模式之享元模式原理與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了享元模式的相關(guān)概念、原理、定義及使用方法,需要的朋友可以參考下2019-01-01
Python中dtype、type()和astype()的區(qū)別詳解
這篇文章主要介紹了Python中dtype、type()和astype()的區(qū)別詳解,type()是python內(nèi)置的函數(shù),type()返回?cái)?shù)據(jù)結(jié)構(gòu)類型(list、dict、numpy.ndarray 等),需要的朋友可以參考下2023-08-08
基于Python實(shí)現(xiàn)Markdown轉(zhuǎn)ePub
數(shù)字閱讀ePub格式因其良好的兼容性和閱讀體驗(yàn),已經(jīng)成為電子書的主流格式之一,而Markdown作為一種輕量級(jí)標(biāo)記語(yǔ)言,以其簡(jiǎn)潔易用的特點(diǎn)深受技術(shù)寫作者喜愛,下面我們來(lái)看看如何實(shí)現(xiàn)二者之間的格式轉(zhuǎn)換吧2025-04-04
python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋之人機(jī)對(duì)戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
numpy.random.seed()的使用實(shí)例解析
這篇文章主要介紹了numpy.random.seed()的使用實(shí)例解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
Python 實(shí)現(xiàn)將numpy中的nan和inf,nan替換成對(duì)應(yīng)的均值
這篇文章主要介紹了Python 實(shí)現(xiàn)將numpy中的nan和inf,nan替換成對(duì)應(yīng)的均值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06

