You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何依据标签拆分图片至对应文件夹?基于CSV文件的实现需求

按标签分类图片的实现方案

依赖准备

  • 若未安装pandas,执行命令安装:pip install pandas
  • shutil是Python标准库,无需额外安装

核心代码实现

import pandas as pd
import os
import shutil

# 配置参数,替换为你的实际路径和列名
CSV_FILE = "你的CSV文件路径.csv"  # 替换成你的CSV文件位置
IMAGE_PATH_COL = "Image Path"  # 替换成CSV中存储图片路径的列名
LABEL_COL = "Label"  # 替换成CSV中存储标签的列名
TARGET_ROOT_DIR = "分类图片存放根目录"  # 替换成你想存放分类结果的文件夹

# 读取CSV数据
df = pd.read_csv(CSV_FILE)

# 遍历数据完成分类
for _, row in df.iterrows():
    img_path = row[IMAGE_PATH_COL]
    label = row[LABEL_COL]
    
    # 跳过不存在的图片文件
    if not os.path.isfile(img_path):
        print(f"跳过不存在的文件: {img_path}")
        continue
    
    # 创建标签专属文件夹(不存在则自动生成)
    label_folder = os.path.join(TARGET_ROOT_DIR, str(label))
    os.makedirs(label_folder, exist_ok=True)
    
    # 生成目标路径
    img_name = os.path.basename(img_path)
    target_path = os.path.join(label_folder, img_name)
    
    # 复制图片到目标文件夹(若要移动原图片,把copy2换成move)
    if not os.path.exists(target_path):
        shutil.copy2(img_path, target_path)
        print(f"已处理: {img_path} -> {target_path}")
    else:
        print(f"文件已存在,跳过: {target_path}")

关键注意事项

  • 必须根据你的CSV实际列名修改IMAGE_PATH_COL和LABEL_COL(比如列名是中文就换成对应中文)
  • 如果CSV里的图片路径是相对路径,要确保脚本运行时的工作目录能正确找到图片,或者直接把路径改成绝对路径
  • 若需要移动原图片而非复制,将代码中的shutil.copy2替换为shutil.move即可

内容的提问来源于stack exchange,提问作者Faa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:10:50