【python】文本处理:删除包含关键词的行、删除指定列、删除指定字符、替换关键字……...

目录

1、行处理

删除文件中包含关键词的行

删除TXT中的带/不带指定字符的行(并保留带指定字符的行)

        删除匹配or不匹配某些条件的行

2、字符处理

删除特定字符

1.1、删除特定位置的字符

1.2、删除指定字符

1.3、删除每一行首/尾匹配条件的字符

正则表达式

替换文件里的字符

3、列处理

删除TXT中每一行前面的数字字符

删除csv文件中的某几列

读取txt文件并取其某一列数据

删除TXT中的某列

读取TXT中的列到excel中

 将数字大小在9.500到12.500之间的行保留

4、报错记录


1、行处理

删除文件中包含关键词的行

带中文

删除匹配“月”的行

import re

lineList = []
matchPattern = re.compile(r'月')
file = open('D:\myLog.txt','r',encoding='UTF-8')  
while 1:
    line = file.readline()
    if not line:
        print("Read file End or Error")
        break
    elif matchPattern.search(line):
        pass
    else:
        lineList.append(line)
file.close()
file = open(r'D:\target.txt', 'w',encoding='UTF-8')
for i in lineList:
    file.write(i)
file.close()

---------------------------------

删除匹配“INVALID PARAMETER”的行

import re

list = []
matchPattern = re.compile(r'INVALID PARAMETER')
file = open('C:\hopeinsighFPGA.txt','r')  
while 1:
    line = file.readline()
    if not line:
        print("Read file End or Error")
        break
    elif matchPattern.search(line):
        pass
    else:
        list.append(line)
file.close()
file = open(r'C:\target.txt', 'w')
for i in list:
    file.write(i)
file.close()

python:删除文件中包含关键词的行_https://blog.csdn.net/momomi_2005/article/details/23766895

re.compile(),正则表达式在模式匹配前进行预编译;使用预编译代码比字符串快;

test.txt中包含以下文字:

1:li

2:test

3:num

在运行完程序,生成的target.txt中,内容为

1:li

3:num

删除TXT中的带/不带指定字符的行(并保留带指定字符的行)

#!/bin/env python
import shutil, sys, os
noneed = ["null"]
need = ['{']

def isInArray (array, line):
  for item in array:
    if item in line:
      return True
  return False

fname   = r'D:\download.json'
fresult = r'D:\download2.json'
#open(fname, 'r', encoding='gb2312')
with open(fname, 'r',encoding='UTF-8') as f:
    with open(fresult, 'w', encoding='UTF-8') as g:
        for line in f.readlines():
            if isInArray(need, line):#含need里面字符的行 都要
                g.write(line)
                continue
            if not isInArray(noneed, line):#不含noneed里面字符的行 都要
                g.write(line)

删除匹配or不匹配某些条件的行

程序框架:

f = open("test.txt",'r+')
lines = [line for line in f.readlines() if 你对line的判断 is None]
f.seek(0)
f.truncate(0)
f.writelines(lines)
f.close()

示例:

删除包含有 darray 内的内容的行

#!/bin/env python
import shutil, sys, os
darray = [
  "Entering directory",
  "In function ",
  "Leaving directory",
  "__NR_SYSCALL_BASE",
  "arm-hisiv100-linux-ar ",
  "arm-hisiv100-linux-gcc ",
  "but argument is of type",
  "dereferencing type-punned pointer will break strict-aliasing rules",
  "differ in signedness",
  "does break strict-aliasing rules",
  "embedded '\\0' in format",
  "excess elements in array initializer",
  "implicit declaration of",
  "make -C ",
  &#
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值