Python3.5 处理文本txt,删除不需要的行

Python3.5 处理文本txt,删除不需要的行

望共同进步

转载请注明地址:http://blog.csdn.net/weixin_39701039/article/details/79550067

这个问题是在问答里看到的,给了回答顺便在这里贴一下代码:


#coding:utf-8
#python3.5.1

import re

file_path0 = r'G:\任务20180312\test/handle1.txt'

f = open(file_path0)
#读取全部内容
lines = f.readlines()  #lines在这里是一个list
#获取行数
nums = len(lines)
#建立一个空列表
rows_get = []
#循环行数
for i in range(nums):
    line = lines[i]   #line类型为str
    #开始用正则得到数字部分,并判断
    #给定正则规则
    p = r',(.+)'   #发现每行取逗号后面部分就行
    #编译正则
    pattern = re.compile(p)
    try:
        #查找,用try判断是因为还存在空行
        number = re.findall(pattern,line)[0]  #这里number类型 str
        #去除空格
        number = number.strip()
        #转换int,便于比较
        number = float(number)
        #判断数字小于9.500和大于12.500的行删除
        if number <9.500 or number>12.500:
            pass
        else:
            rows_get.append(i)

    except:
        continue
#rows_get使我们所需要的数据
print(rows_get)

#建立空字符串
text = ''
for x in rows_get:
    #得到想要的每行数据
    row = lines[x]
    #叠加
    text = text + row

with open(r'G:\任务20180312\test/handle1_get.txt','w') as f:
    f.write(text)
结果如下图:

望有所帮助,望采纳!!


  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值