在Python中获取txt文本中特殊字符之间包含关键词的段落脚本

问题描述

由于在数据预处理中遇到了一些问题,在网上查找资料大多是关于用python截取txt文件中两个特殊字符之间的整个段落,但是我需要截取段落之间有关键字HUMAN的段落,所以写了如下脚本。

dd = open("result.txt", 'a')

d = open("test.txt", 'r')

wflag = False #设置bool值
newline = []
for line in d:
    if ">" in line:  # 遇到>时,说明已经到了新的区域,写标记置否
        wflag = False
    if ">" in line and "HUMAN" in line:  # 遇到>,且有HUMAN时,设置写标记为Ture
        wflag = True
        # continue   #如果要舍弃作判断的那一行,则contine进行下一轮循环
    if wflag == True:
        K = list(line)
        for i in K:  # 写入需要内容
            newline.append(i)

strlist = "".join(newline)  # 合并列表元素
newlines = str(strlist)  # list转化成str

dd.write(newlines)


d.close()
dd.close()

结果:

test文件(这里我随意写了一个文件包含我所需要的条件):

>123HUMAN...
wdewdeqw
>djwdefocl;LCMKDNVC
duqwudie
cswwwedwde
>CEUWQLF_HUMAN
dwqdwefc
xsdefd
>12defew

result文件

截取到包含我要的关键字HUMAN的段落。

参考文章:

(15条消息) 提取TXT文本中指定内容——python_MENG_痴痴的博客-CSDN博客_python提取txt中指定内容


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,您需要打开文档并将其读入内存。您可以使用 Python 的内置函数 open() 来打开文件并将其读入字符串变量,例如: ``` with open('world.txt', 'r') as f: content = f.read() ``` 然后,您可以使用正则表达式来查找包含关键词的句子。正则表达式是一种用于匹配文本模式的工具。您可以使用 Python 的 re 模块来使用正则表达式。例如,要查找包含关键词 "hello" 的句子,您可以使用以下代码: ``` import re keyword = 'hello' pattern = r'\b' + keyword + r'\b' sentences = re.findall(pattern, content, re.IGNORECASE) ``` 这会在 content 查找所有以关键词 "hello" 为单词边界的句子,并将这些句子添加到 sentences 列表。如果要忽略大小写,请指定 re.IGNORECASE 标志。 最后,您可以使用 for 循环来遍历 sentences 列表并打印出所有句子: ``` for sentence in sentences: print(sentence) ``` 希望这对您有所帮助! ### 回答2: 使用Python从Word文档提取包含关键词的句子可以通过以下步骤实现: 1. 安装所需库:首先,请确保已经安装了python-docx库。可以使用pip install python-docx命令进行安装。 2. 导入所需库:在Python脚本导入python-docx库。 3. 打开Word文档:使用python-docx库的Document()函数打开Word文档。 4. 遍历文档内容:通过使用paragraphs属性遍历文档段落,使用sentences属性遍历每个段落的句子。 5. 搜索关键词:对于每个句子,使用in关键字检查关键词是否在句子存在。 6. 提取句子:如果句子包含关键词,可以将该句子添加到一个列表或者输出到控制台。 以下是一个示例代码,用于从Word文档提取包含关键词的句子: ``` from docx import Document def extract_sentences_with_keyword(document_path, keyword): doc = Document(document_path) extracted_sentences = [] for paragraph in doc.paragraphs: for sentence in paragraph.sentences: if keyword in sentence.text: extracted_sentences.append(sentence.text) return extracted_sentences # 调用函数并输出结果 document_path = 'document.docx' # 替换为你的Word文档路径 keyword = '关键词' # 替换为你要搜索的关键词 sentences = extract_sentences_with_keyword(document_path, keyword) for sentence in sentences: print(sentence) ``` 在上述代码,'document.docx'需要替换为实际的Word文档路径,'关键词'需要替换为你要搜索的关键词。执行该代码将会输出包含关键词的句子。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值