从一个文件夹内的文件夹中提取每一个txt文件,并将另一个TXT文件中的第一行每一列作为关键词搜索文件,并将每一个关键词所对应的行提取并生成一个新的TXT文件,并命名为关键词到指定路径
时间: 2024-04-14 08:28:26 浏览: 224
2.指定一个路径,将其下面(含子文件夹中)的以".txt"结尾的文件移动到指定的另一个路径下;
要从一个文件夹内的文件夹中提取每个txt文件,并根据另一个TXT文件中的第一行每一列作为关键词搜索文件,并将每个关键词所对应的行提取并生成一个新的TXT文件,并命名为关键词,您可以使用以下代码:
```python
import os
def extract_lines_with_keywords(folder_path, keywords_file, output_path):
# 读取关键词文件的第一行每一列作为关键词列表
with open(keywords_file, 'r') as f:
keywords = f.readline().split()
# 遍历文件夹及其子文件夹中的所有txt文件
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".txt"):
file_path = os.path.join(root, file)
with open(file_path, 'r') as f:
lines = f.readlines()
matching_lines = []
for line in lines:
for keyword in keywords:
if keyword in line:
matching_lines.append(line)
break
if matching_lines:
# 提取关键词并生成新的TXT文件
output_file = os.path.join(output_path, f"{keyword}.txt")
with open(output_file, 'w') as f:
f.writelines(matching_lines)
# 示例用法
folder_path = "path/to/folder" # 替换为实际的文件夹路径
keywords_file = "path/to/keywords.txt" # 替换为实际的关键词文件路径
output_path = "path/to/output" # 替换为实际的输出路径
extract_lines_with_keywords(folder_path, keywords_file, output_path)
```
请确保替换示例代码中的以下部分:
- `folder_path`:实际的文件夹路径,要包含要搜索的txt文件。
- `keywords_file`:实际的关键词文件路径,文件中的第一行每一列将被用作关键词列表。
- `output_path`:实际的输出路径,新生成的TXT文件将保存在该路径下,并以关键词命名。
代码会遍历指定的文件夹及其子文件夹中的所有txt文件。然后,它会读取关键词文件的第一行每一列作为关键词列表。对于每个txt文件,它会搜索包含关键词的行,并将匹配的行写入新的以关键词命名的TXT文件中,并保存到指定的输出路径中。
阅读全文