Python从指定路径读取txt文件按行筛选出所需的字符

需要从txt文档中筛选出某些字段,写了个python小脚本去执行。

import os

##获取当前路径
curpath=os.getcwd()
##列出路径下的所有文件,方便获得txt文档的名称
pathdir=os.listdir(curpath)

txtfilename=''
filename=[]

##获取的名称是带有文件后缀的,使用split直接筛选出.txt的文件
for i in pathdir:
    filename=i.split('.')
    if filename[1] == 'txt':
        txtfilename=i
    break

##因为文档大部分为gbk编码,ignore忽略掉其他编码格式,不然会报错
fr=open(logfilename,'r',encoding='gbk',errors='ignore')

##按行读取
all_lines=fr.readlines()

##按条件需要筛选
dataset=[]
tag=''
finaldata=[]
for line in all_lines:
    dataset=line.split(': ')
    tag=dataset[0]
    splitstag1='te'
    splitstag2='st'
    if tag.find(splitstag1) != -1:
        dataset=tag.split(splitstag1)
        tag=dataset.pop()
    else:
        dataset=tag.split(splitstag2)
        tag=dataset.pop()    
##如果当前行筛选出来的结果之前没有的,使用append新增到列表后
    if tag not in finaldata:
        finaldata.append(tag)

##创建一个筛选结果txt文档,将筛选结果写入
rsfile="ReadResult.txt"
if os.path.exists(rsfile):
    os.remove(rsfile)
file = open(rsfile, "w")
for i in finaldata:
   file.write(i)
   file.write('\n')
file.close()
print("work down!")
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值