python提取具有某種特定字符串的行數(shù)據(jù)方法
今天又幫女朋友處理了一下,她的實(shí)驗(yàn)數(shù)據(jù),因?yàn)閜ython是一年前經(jīng)常用,最近找工作,用的是c,c++,python的有些東西忘記了,然后就一直催我,說(shuō)我弄的慢,弄的慢,你自己弄啊,煩不煩啊,逼逼叨叨的,最后還不是我給弄好的?呵呵
好的,數(shù)據(jù)是這樣的,我截個(gè)圖

我用紅括號(hào)括起來(lái)的,就是我所要提取的數(shù)據(jù)
其中l(wèi)ossstotal.txt是我要提取的原始數(shù)據(jù),考慮兩種方法去提取,前期以為所要提取行的數(shù)據(jù)是有一定規(guī)律的,后來(lái)發(fā)現(xiàn),并不是,所以,我考慮用正則來(lái)提取,經(jīng)過(guò)思考以后,完成了數(shù)據(jù)的提取,如下午所示,數(shù)據(jù)變的非常好看

代碼如下:
#coding:utf-8
#__author__ ='dell'
import re
f1=file('losstotal.txt','r')
data1=f1.readlines()
# print data1
f1.close()
results = []
f2 = open('loss2.txt', 'w')
# # 按照特定行提取,發(fā)現(xiàn)后面的行并無(wú)規(guī)律
# i = 0
# for line in data1:
# i+=1
# # print line
# if((i-1)%3==0):
# f2.write(line)
# print line
# 利用正則表達(dá)式
for line in data1:
data2=line.split()
# print data2
for i in data2:
n = re.findall(r"Iteration", i)
# m=re.findall(r"loss", i)
if n:
# print line
f2.writelines(line)
f2.close()
f3=file('loss2.txt','r')
data3=f3.readlines()
# print data1
f3.close()
f4 = open('loss3.txt', 'w')
for line in data3:
data4=line.split()
# print data2
for i in data4:
n = re.findall(r"loss", i)
# m=re.findall(r"loss", i)
if n:
print line
f4.writelines(line)
f4.close()
# 去掉逗號(hào)
f5=open('loss3.txt','r')
data5=f5.read()
f5=data5.replace(',',' ')
f6=file('lossfinal.txt','w')
f6.write(f5)
f6.close()
# # 去掉等號(hào)=
f7=open('lossfinal.txt','r')
data7=f7.read()
f7=data7.replace('=',' ')
f8=file('lossfinal.txt','w')
f8.write(f7)
f8.close()
# data3=lin.split()
# for j in data3:
# m=re.findall(r"loss",i)
# if m:
# print lin
# # m=re.findall(r"sgd_solver.cpp",i)
# n=re.findall(r"Iteration",i)
我在同樣的目錄下,還建立了

這幾個(gè)txt文件,要不然,代碼跑不通的喲。
解釋?zhuān)何疫B續(xù)用了兩個(gè)正則,各自把含有特定字符串的行進(jìn)行提取,兩個(gè)寫(xiě)一起,發(fā)現(xiàn)還是不太會(huì),所以分開(kāi)寫(xiě)了,但是結(jié)果還是完成的不錯(cuò)!
以上這篇python提取具有某種特定字符串的行數(shù)據(jù)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python3 編寫(xiě)簡(jiǎn)單信用卡管理程序
這篇文章主要介紹了使用Python3 編寫(xiě)簡(jiǎn)單信用卡管理程序的代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2016-12-12
9行Python3代碼實(shí)現(xiàn)批量提取PDF文件的指定內(nèi)容
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)9行Python3代碼實(shí)現(xiàn)批量提取PDF文件的指定內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2022-12-12
Python表格處理模塊xlrd在Anaconda中的安裝方法
本文介紹在Anaconda環(huán)境下,安裝Python讀取.xls格式表格文件的庫(kù)xlrd的方法,xlrd是一個(gè)用于讀取Excel文件的Python庫(kù),本文介紹了xlrd庫(kù)的一些主要特點(diǎn)和功能,感興趣的朋友一起看看吧2024-04-04
Python中使用Queue和Condition進(jìn)行線(xiàn)程同步的方法
這篇文章主要介紹了Python中使用Queue模塊和Condition對(duì)象進(jìn)行線(xiàn)程同步的方法,配合threading模塊下的線(xiàn)程編程進(jìn)行操作的實(shí)例,需要的朋友可以參考下2016-01-01
Python使用切片移動(dòng)元素位置的代碼實(shí)踐
在 Python 中,切片是指從序列類(lèi)型(如列表、字符串、元組等)中提取子序列的過(guò)程,切片可以用來(lái)快速獲取列表的一部分也可以用于反轉(zhuǎn)列表,本文小編給大家介紹了Python使用切片移動(dòng)元素位置的代碼實(shí)踐,需要的朋友可以參考下2024-09-09
python3中bytes和string之間的互相轉(zhuǎn)換
這篇文章主要介紹了python3中bytes和string之間的互相轉(zhuǎn)換,文中給出了詳細(xì)的介紹和示例代碼,相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-02-02
python+selenium開(kāi)發(fā)環(huán)境搭建圖文教程
這篇文章主要為大家詳細(xì)介紹了python+selenium開(kāi)發(fā)環(huán)境搭建的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

