要在文件夹中搜索文件名中包含给定的一些关键词的文件,并将搜索结果复制到指定文件夹,可以使用Python内置的glob模块来查找满足条件的文件,然后再使用shutil模块来复制文件,在搜索过程中将未找到的关键词打印出来,可以在代码中添加一个列表来记录未找到的关键词,在完成搜索后,遍历该列表并打印出来。关于读取Excel文件,可以使用pandas库来实现。下面是一个示例代码:
import os
import glob
import shutil
import pandas as pd
# 设置输入文件夹和输出文件夹路径
input_folder = 'input_folder'
output_folder = 'output_folder'
# 设置包含关键词的 Excel 文件路径和列名称
keyword_file = 'keywords.xlsx'
keyword_column = 'Keyword_Column'
# 读取包含关键词的 Excel 文件
keywords_data = pd.read_excel(keyword_file)
# 获取所有符合条件的文件
files_to_copy = []
keywords_not_found = []
for keyword in keywords_data[keyword_column]:
file_matches = glob.glob(os.path.join(input_folder, f'*{keyword}*.xlsx'))
if file_matches:
files_to_copy += file_matches
else:
keywords_not_found.append(keyword)
# 将文件复制到输出文件夹
for file in files_to_copy:
output_path = os.path.join(output_folder, os.path.basename(file))
shutil.copy(file, output_path)
# 打印未找到的关键词
print("以下关键词未找到匹配文件:")
for keyword in keywords_not_found:
print(keyword)
请确保已经设置正确的输入文件夹路径(input_folder
)、输出文件夹路径(output_folder
)、包含关键词的 Excel 文件路径(keyword_file
)以及关键词列的名称(keyword_column
)。
这段代码将逐个读取包含关键字的 Excel 文件,并使用glob模块查找文件名中包含关键词的文件。找到符合条件的文件后,将会将该文件复制到指定的输出文件夹。
添加了一个名为 keywords_not_found
的列表,用于记录未找到的关键词。如果对应关键词的文件未找到,将关键词添加到该列表中。最后,使用一个循环遍历 keywords_not_found
列表并打印出未找到的关键词。