您好,登錄后才能下訂單哦!
Python新手編寫腳本處理數(shù)據(jù),各種心酸各種語法查找,以此留念!
原始數(shù)據(jù)格式如下圖所示:
這里是一個(gè)人臉測試數(shù)據(jù),其中每行第一個(gè)為測試圖片編號,后面為Top 7圖片編號及其對應(yīng)的評分,即與測試圖片的相似度度量結(jié)果。我們這里的目的是將每行Top 7對應(yīng)的評分?jǐn)?shù)據(jù)抽取出來,并且將評分第二的數(shù)值與一個(gè)閾值(這里是0.7)進(jìn)行比較,超過閾值表示此次測試成功,結(jié)果為正樣本,記為1,否則置0。并最終將其保存至另一個(gè)文本文件用于作為機(jī)器學(xué)習(xí)模型的訓(xùn)練樣本數(shù)據(jù)。
Python腳本處理后的文件格式如下所示:
對應(yīng)的Python代碼如下所示,附有小白詳細(xì)注釋。
# -*- coding: cp936 -*- import re import linecache filename = 'face_test_data.txt' with open(filename, 'r') as f: line = f.readline() while line: eachline = line.split()###按行讀取文本文件 #print eachline 返回一個(gè)列表,以空格作為元素拆分標(biāo)識 #print line 返回的是一整行數(shù)據(jù),相當(dāng)于一個(gè)字符串元素 count = len(eachline)#返回列表長度,即列表元素?cái)?shù)目 n = 0 element = []#初始化空列表用于存儲所需評分?jǐn)?shù)據(jù) while n < count: elem_index = eachline[n:n+1] #類型為列表 #print elem_index, len(elem_index[0]) #print elem_index 返回類型為列表 if len(elem_index[0]) > 24: element.append(elem_index[0][25:]) #element = [qiege(elem_index[n]) for elem_index in eachline] n=n+1 #print element[1] #概率數(shù)值列表 if element[1] >= '0.7': element.append(1) #print '1' else: element.append(0) #print '0' #生成每行末尾有\(zhòng)t文件 ''' file = open('preprocess.txt', 'a') for i in range(len(element)): file.write(str(element[i])+'\t') file.write('\n') file.close() ''' #生成每行末尾無\t文件,可直接用于np.loadtxt()讀取文本生成矩陣數(shù)據(jù) file = open('_preprocess.txt', 'a') for i in range(len(element)-1): file.write(str(element[i])+'\t') file.write(str(element[-1])+'\n') #file.write('\n') file.close() line = f.readline()
以上這篇Python 文本文件內(nèi)容批量抽取實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。