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