python怎么根据文件夹下含有多个关键词的txt文本,直接遍历文件夹下的全部txt和xlsx,然后把匹配到的所在行内容输出到新的文本里面
时间: 2024-02-05 07:13:25 浏览: 61
Python从多路径多Excel表中获取数据并存入新表.zip
你可以使用Python的os和re模块来实现这个功能。以下是一个简单的代码示例:
```python
import os
import re
# 定义关键词列表
keywords = ['keyword1', 'keyword2', 'keyword3']
# 定义输出文件路径和名称
output_file = 'output.txt'
# 遍历文件夹
for root, dirs, files in os.walk('.'):
for file in files:
# 判断文件类型
if file.endswith('.txt') or file.endswith('.xlsx'):
# 打开文件
with open(os.path.join(root, file), 'r', encoding='utf-8') as f:
# 逐行读取
for line in f.readlines():
# 判断是否包含关键词
if any(keyword in line for keyword in keywords):
# 匹配到关键词,则将该行内容写入输出文件
with open(output_file, 'a', encoding='utf-8') as output:
output.write(line)
```
以上代码会遍历当前目录及其子目录下的所有文件,如果文件类型为txt或xlsx,则打开文件逐行读取,并判断是否包含关键词。如果匹配到关键词,则将该行内容写入输出文件output.txt中。请注意,输出文件会在每次运行代码时被覆盖,如果需要追加输出,请修改打开输出文件的方式。
阅读全文