从长文本中抽取含有特定关键词的句子,并保存到txt文件,直接写python代码
时间: 2023-02-05 16:00:36 浏览: 54
好的,以下是一个示例代码,帮助您从长文本中抽取含有特定关键词的句子,并保存到txt文件。
首先,我们需要打开一个文件,然后按行读取文本,并使用 Python 中的 split() 函数将每行文本拆分为单独的单词。然后,我们可以使用 in 运算符来检查每个单词是否为我们要搜索的关键词。如果找到了关键词,我们可以使用 .join() 函数将单词合并回句子,然后将句子写入txt文件。
```
# 打开文件
with open('long_text.txt', 'r') as f:
# 读取文件中的每一行
for line in f:
# 拆分行为单独的单词
words = line.split()
# 检查每个单词是否为我们要搜索的关键词
for word in words:
if word == 'keyword':
# 将单词合并回句子
sentence = ' '.join(words)
# 将句子写入文件
with open('sentences_with_keyword.txt', 'a') as out:
out.write(sentence + '\n')
```
希望这对您有帮助!如果您有任何其他问题,请随时告诉我,我会尽力帮助您。
相关问题
从长文本中抽取含有多个特定关键词的句子,并保存到txt文件,直接写python代码
好的,这里是一个例子,你可以用它来从长文本中抽取含有多个特定关键词的句子,并将这些句子保存到txt文件中:
```python
import re
# 要抽取的关键词列表
keywords = ['关键词1', '关键词2', '关键词3']
# 要抽取的长文本
text = '''
这里是长文本,它可能包含多个句子。每个句子可能包含多个关键词。
我们希望抽取所有包含多个关键词的句子。
'''
# 使用正则表达式来匹配所有句子
sentences = re.findall(r'[^。!?]*[。!?]', text)
# 遍历所有句子,如果句子中包含多个关键词,就将其保存到txt文件中
with open('output.txt', 'w', encoding='utf-8') as f:
for sentence in sentences:
# 统计句子中包含的关键词数量
count = 0
for keyword in keywords:
if keyword in sentence:
count += 1
# 如果句子中包含多个关键词,则将其保存到txt文件中
if count >= 2:
f.write(sentence + '\n')
```
在上面的代码中,我们使用了正则表达式来匹配所有句子,然后遍历所有句子,统计句子中包含的关键词数量。如果句子中包含多个关键词,就将其保存到txt文件中。
希望这个例子对你有帮助。
从doc文件中抽取含有多个特定关键词其中一个的句子,并只保存这些含有关键词的句子到txt文件,直接写python代码
这是一个示例代码,可以帮助您抽取 doc 文件中含有多个特定关键词其中一个的句子,并保存这些含有关键词的句子到 txt 文件:
```python
import re
import docx
# 读取 doc 文件
doc = docx.Document('文件路径')
# 要抽取的关键词列表
keywords = ['关键词1', '关键词2', '关键词3']
# 用于存储抽取到的句子
sentences = []
# 遍历所有段落
for paragraph in doc.paragraphs:
# 获取段落文本
text = paragraph.text
# 使用正则表达式匹配句子
for keyword in keywords:
pattern = r'[^。]*' + keyword + r'[^。]*[。]'
matches = re.findall(pattern, text)
sentences.extend(matches)
# 将抽取到的句子写入 txt 文件
with open('输出文件路径', 'w', encoding='utf-8') as f:
for sentence in sentences:
f.write(sentence + '\n')
```
希望这个示例代码能帮到您!