用python写一个能根据包含图片名称和类别的csv文件将图片自动的分类到对应文件夹的程序
时间: 2024-11-18 16:27:16 浏览: 5
使用python将图片按标签分入不同文件夹的方法
要编写一个Python脚本来根据CSV文件中的图片名称和类别将图片自动分类到对应的文件夹,你可以按照以下步骤操作:
1. 导入必要的库[^1]:
```python
import os
import csv
from shutil import copyfile
```
2. 定义函数来处理CSV文件内容:
```python
def process_csv(csv_file_path):
with open(csv_file_path, 'r') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
image_name = row['image_name']
category = row['category']
# 创建类别目录(如果不存在)
if not os.path.exists(category):
os.makedirs(category)
# 检查图片文件是否存在
if os.path.isfile(image_name):
# 移动图片到相应类别文件夹
src_path = os.path.join(os.getcwd(), image_name)
dst_path = os.path.join(os.getcwd(), category, image_name)
copyfile(src_path, dst_path)
print(f"Moved {image_name} to {category}")
else:
print(f"{image_name} not found.")
```
3. 调用函数处理CSV文件[^2]:
```python
csv_file_path = "path_to_your_csv.csv" # 替换为实际的CSV文件路径
process_csv(csv_file_path)
```
在这个示例中,`process_csv`函数会遍历CSV文件中的每一行,读取图片名和类别,然后创建对应类别的文件夹(如果不存在),并将图片从当前工作目录复制到新创建的文件夹。
阅读全文