用python写一个能根据包含图片名称和类别的excel表格将图片自动的分类到对应文件夹的程序
时间: 2024-11-17 14:30:54 浏览: 22
为了创建一个根据Excel表格中的类别自动将图片分类到对应文件夹的Python程序,你可以按照以下步骤操作:
1. **导入必要的库**[^1]:
```python
import pandas as pd
import os
from shutil import copyfile
```
2. **加载Excel数据**:
```python
excel_path = "img.xlsx" # Excel文件路径
df = pd.read_excel(excel_path)
categories = df['category_column'] # 假设类别信息在'category_column'列
filenames = df['filename_column'] # 假设图片名称在'filename_column'列
```
3. **定义分类目录结构**:
```python
directory_structure = {cat: f'E:/target_{cat}' for cat in set(categories)} # 创建按类别划分的目标文件夹
```
4. **遍历文件和执行分类**:
```python
for filename, category in zip(filenames, categories):
source_folder = 'E:/origin_file/' + filename # 原始图片路径
target_folder = directory_structure[category]
if not os.path.exists(target_folder): # 检查目标文件夹是否存在,不存在则创建
os.makedirs(target_folder)
# 将图片复制到对应的类别文件夹
copyfile(source_folder, target_folder + '/' + filename)
```
5. **保存更改**:
```python
# 这部分已经包含在之前的示例中
# ... (跳过第4步后的代码,直接到writer.save())
```
完成以上代码后,程序会根据Excel表格中的类别信息,将图片从原始文件夹移动到相应的目标文件夹。
阅读全文