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()

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:Python文本文件内容批量抽取实例-创新互联
地址分享:http://azwzsj.com/article/ceihsg.html