带有关键词的行 txt文本处理

 

原本的代码(只筛选出来自己要的)(【python】文本处理:删除包含关键词的行、删除指定列、删除指定字符、替换关键字……_bandaoyu的博客-CSDN博客_python 删除csv还有特定词语的某列

#!/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)

自己改的

#!/bin/env python
import shutil, sys, os

#noneed = [,"","","","","","","","","","",""]
need = ['updated','content']


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


fname = r'D:\Desktop\json.txt'
fresult = r'D:\Desktop\json2.txt'
# 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)
                g.write("\n")
            else:
                continue # 含有不需要便直接跳过

            # if not isInArray(noneed, line):  # 不含noneed里面字符的行 都要
            #     g.write(line)

 

posted on 2023-02-13 15:37  Dnggitgn  阅读(52)  评论(0)    收藏  举报

导航