Python 文本文件內(nèi)容批量抽取實例
Python新手編寫腳本處理數(shù)據(jù),各種心酸各種語法查找,以此留念!
原始數(shù)據(jù)格式如下圖所示:

這里是一個人臉測試數(shù)據(jù),其中每行第一個為測試圖片編號,后面為Top 7圖片編號及其對應(yīng)的評分,即與測試圖片的相似度度量結(jié)果。我們這里的目的是將每行Top 7對應(yīng)的評分?jǐn)?shù)據(jù)抽取出來,并且將評分第二的數(shù)值與一個閾值(這里是0.7)進(jìn)行比較,超過閾值表示此次測試成功,結(jié)果為正樣本,記為1,否則置0。并最終將其保存至另一個文本文件用于作為機(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 返回一個列表,以空格作為元素拆分標(biāo)識
#print line 返回的是一整行數(shù)據(jù),相當(dāng)于一個字符串元素
count = len(eachline)#返回列表長度,即列表元素數(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)容批量抽取實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談pytorch中為什么要用 zero_grad() 將梯度清零
這篇文章主要介紹了pytorch中為什么要用 zero_grad() 將梯度清零的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
Python Pygame實戰(zhàn)之塔防游戲的實現(xiàn)
這篇文章主要介紹了如何利用Python中的Pygame模塊制作簡單的塔防小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動手試一試2022-03-03
python標(biāo)準(zhǔn)庫random模塊處理隨機(jī)數(shù)
這篇文章主要介紹了python標(biāo)準(zhǔn)庫random模塊處理隨機(jī)數(shù),random模塊實現(xiàn)了各種分布的偽隨機(jī)數(shù)生成器,具體介紹感興趣的小伙伴可以參考一下2022-09-09
Python3實現(xiàn)mysql連接和數(shù)據(jù)框的形成(實例代碼)
這篇文章主要介紹了Python3實現(xiàn)mysql連接和數(shù)據(jù)框的形成,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01
用Python實現(xiàn)換行符轉(zhuǎn)換的腳本的教程
這篇文章主要介紹了用Python實現(xiàn)換行符轉(zhuǎn)換的腳本的教程,代碼非常簡單,包括一個對操作說明的功能的實現(xiàn),需要的朋友可以參考下2015-04-04
Python使用win32com模塊實現(xiàn)數(shù)據(jù)庫表結(jié)構(gòu)自動生成word表格的方法
這篇文章主要介紹了Python使用win32com模塊實現(xiàn)數(shù)據(jù)庫表結(jié)構(gòu)自動生成word表格的方法,結(jié)合實例形式分析了win32com模塊下載、連接mysql、查詢獲取表結(jié)構(gòu)以及使用win32com生成word表格的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
從Python的源碼淺要剖析Python的內(nèi)存管理
這篇文章主要介紹了從Python的源碼淺要剖析Python的內(nèi)存管理,需要的朋友可以參考下2015-04-04

