python提取excel数据 与文件夹里匹配的,复制到文件夹里
时间: 2024-05-01 08:22:06 浏览: 106
可以使用Python中的openpyxl模块来读取Excel文件,使用os模块来操作文件夹和文件。下面是一个简单的示例代码,可以实现提取Excel数据与文件夹里匹配的文件,并将其复制到指定的文件夹。
```python
import os
from shutil import copyfile
from openpyxl import load_workbook
# 指定Excel文件路径和工作表名称
excel_file = 'example.xlsx'
sheet_name = 'Sheet1'
# 指定文件夹路径和目标文件夹名称
folder_path = './files'
target_folder = 'target_files'
# 加载Excel文件和工作表
workbook = load_workbook(excel_file)
worksheet = workbook[sheet_name]
# 遍历Excel表格中的每一行
for row in worksheet.iter_rows(min_row=2, values_only=True):
# 获取文件名和扩展名
filename, extension = os.path.splitext(row[0])
# 构造要匹配的文件名
pattern = f'{filename}*{extension}'
# 在指定文件夹中查找匹配的文件
for file in os.listdir(folder_path):
if fnmatch.fnmatch(file, pattern):
# 构造目标文件路径
source_path = os.path.join(folder_path, file)
target_path = os.path.join(target_folder, file)
# 复制文件到目标文件夹
copyfile(source_path, target_path)
```
在上面的代码中,`load_workbook()`方法用于加载Excel文件和工作表,`iter_rows()`方法用于遍历Excel表格中的每一行,`os.listdir()`方法用于列出指定文件夹中的文件列表,`fnmatch.fnmatch()`方法用于匹配文件名和模式。最后,使用`shutil.copyfile()`方法将匹配的文件复制到目标文件夹中。
阅读全文