欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 文本文件內(nèi)容批量抽取實(shí)例

 更新時(shí)間:2018年12月10日 10:06:14   作者:zetn_liu  
今天小編就為大家分享一篇Python 文本文件內(nèi)容批量抽取實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

Python新手編寫腳本處理數(shù)據(jù),各種心酸各種語法查找,以此留念!

原始數(shù)據(jù)格式如下圖所示:

Python 文本文件內(nèi)容批量抽取

這里是一個(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腳本處理后的文件格式如下所示:

Python 文本文件內(nèi)容批量抽取

對應(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 = []#初始化空列表用于存儲(chǔ)所需評分?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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論