Python 文本文件内容批量抽取实例

yipeiwu_com5年前Python基础

Python新手编写脚本处理数据,各种心酸各种语法查找,以此留念!

原始数据格式如下图所示:

Python 文本文件内容批量抽取

这里是一个人脸测试数据,其中每行第一个为测试图片编号,后面为Top 7图片编号及其对应的评分,即与测试图片的相似度度量结果。我们这里的目的是将每行Top 7对应的评分数据抽取出来,并且将评分第二的数值与一个阈值(这里是0.7)进行比较,超过阈值表示此次测试成功,结果为正样本,记为1,否则置0。并最终将其保存至另一个文本文件用于作为机器学习模型的训练样本数据。

Python脚本处理后的文件格式如下所示:

Python 文本文件内容批量抽取

对应的Python代码如下所示,附有小白详细注释。

# -*- 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 返回一个列表,以空格作为元素拆分标识
  #print line 返回的是一整行数据,相当于一个字符串元素
  count = len(eachline)#返回列表长度,即列表元素数目
  n = 0
  element = []#初始化空列表用于存储所需评分数据
  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] #概率数值列表
  
  if element[1] >= '0.7':
   element.append(1)
   #print '1'
  else:
   element.append(0)
   #print '0'
   
  #生成每行末尾有\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()读取文本生成矩阵数据
  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 文本文件内容批量抽取实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python竟能画这么漂亮的花,帅呆了(代码分享)

Python竟能画这么漂亮的花,帅呆了(代码分享)

阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工...

利用Python进行异常值分析实例代码

利用Python进行异常值分析实例代码

前言 异常值是指样本中的个别值,也称为离群点,其数值明显偏离其余的观测值。常用检测方法3σ原则和箱型图。其中,3σ原则只适用服从正态分布的数据。在3σ原则下,异常值被定义为观察值和平均值...

在linux系统下安装python librtmp包的实现方法

安装librtmp包需要依赖环境较多,机器上已经安装了python2.7版本,安装librtmp包之前需要先安装依赖环境。 1、安装gcc和依赖包 yum install gcc*...

详解Python 切片语法

Python的切片是特别常用的功能,主要用于对列表的元素取值。使用切片也会让你的代码显得特别Pythonic。 切片的主要声明如下,假设现在有一个list,命名为alist: alist...

python调用百度语音识别api

python调用百度语音识别api

最近在处理语音检索相关的事。 其中用到语音识别,调用的是讯飞与百度的api,前者使用js是实现,后者用python3实现(因为自己使用python) 环境: python3.5 ce...