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中pika模块问题的深入探究

python中pika模块问题的深入探究

前言 工作中经常用到rabbitmq,而用的语言主要是python,所以也就经常会用到python中的pika模块,但是这个模块的使用,也给我带了很多问题,这里整理一下关于这个模块我在使...

Python使用LDAP做用户认证的方法

LDAP(Light Directory Access Portocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。 LDAP目录以树状的层次结构来存储数据。每个目录记...

Python直接赋值、浅拷贝与深度拷贝实例分析

Python直接赋值、浅拷贝与深度拷贝实例分析

本文实例讲述了Python直接赋值、浅拷贝与深度拷贝。分享给大家供大家参考,具体如下: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内...

python logging添加filter教程

例子一 def filter(self, record): """Our custom record filtering logic. Built-in filter...

python读写LMDB文件的方法

python读写LMDB文件的方法

LMDB的全称是Lightning Memory-Mapped Database(快如闪电的内存映射数据库),它的文件结构简单,包含一个数据文件和一个锁文件: LMDB文件可以同时由多...