抽取txt文件中含有多个关键词的句子,并这些句子保存到txt文本中,直接写python代码
时间: 2023-02-05 12:15:24 浏览: 63
为了抽取txt文件中含有多个关键词的句子,并将这些句子保存到txt文本中,可以使用以下python代码:
```
# 假设文件名为"input.txt",关键词为keywords(列表形式)
keywords = ['关键词1', '关键词2', '关键词3']
# 读取文件内容
with open('input.txt', 'r') as f:
text = f.read()
# 使用re模块,提取所有包含关键词的句子
import re
pattern = '|'.join(keywords) # 将关键词组成的列表使用"|"连接成一个字符串
sentences = re.findall(f'[^。!?]*({pattern})[^。!?]*[。!?]', text) # 使用正则表达式提取句子
# 将提取的句子保存到"output.txt"文件中
with open('output.txt', 'w') as f:
for sentence in sentences:
f.write(sentence + '\n')
```
在这段代码中,我们首先读取了文件"input.txt"的内容,然后使用正则表达式提取所有包含关键词的句子,最后将提取的句子保存到文件"output.txt"中。
希望这段代码能帮到您!
相关问题
抽取txt文件中含有多个关键词的句子,并保存到txt文本中,直接写代码
好的,我们可以使用 Python 中的正则表达式来解决这个问题。
首先,我们可以使用 Python 的 `re` 模块来匹配文本中的关键词。我们可以使用 `re.finditer` 方法来在文本中查找所有匹配的句子,然后将这些句子保存到一个列表中。
代码示例如下:
```
import re
# 关键词列表
keywords = ['keyword1', 'keyword2', 'keyword3']
# 将关键词列表转换为正则表达式
pattern = '|'.join(keywords)
# 读取文本文件
with open('input.txt', 'r') as f:
text = f.read()
# 查找所有包含关键词的句子
sentences = []
for match in re.finditer(pattern, text):
start = match.start()
end = match.end()
sentence = text[start:end]
sentences.append(sentence)
# 将结果保存到输出文件中
with open('output.txt', 'w') as f:
for sentence in sentences:
f.write(sentence + '\n')
```
这段代码会读取 `input.txt` 文件中的文本,在文本中查找所有包含关键词的句子,然后将这些句子保存到 `output.txt` 文件中。
希望这些信息对你有帮助。
从txt文件中抽取含有多个特定关键词的句子,并保存到txt文件,直接写python代码
可以使用 Python 的 `re` 模块来实现这个功能。下面是一个示例代码:
```
import re
# 要抽取的关键词列表
keywords = ['keyword1', 'keyword2', 'keyword3']
# 将关键词列表转换为正则表达式
pattern = '|'.join(keywords)
# 读取源文件
with open('source.txt', 'r', encoding='utf-8') as f:
lines = f.readlines()
# 抽取包含关键词的句子
sentences = []
for line in lines:
if re.search(pattern, line):
sentences.append(line)
# 将抽取的句子保存到新文件
with open('result.txt', 'w', encoding='utf-8') as f:
f.writelines(sentences)
```
上面的代码首先读取 `source.txt` 文件中的所有行,然后使用正则表达式搜索包含关键词的行,最后将所有匹配的行保存到新文件 `result.txt` 中。
需要注意的是,上面的代码只能抽取单独一行中包含所有关键词的句子。如果希望抽取跨越多行的句子,则需要使用更复杂的方法。