使用python根据.csv文件批量给图片分类

说明

前提:所有图片都在一个文件夹下,.csv文件有两列,第一列为文件名,第二类为类名,如 123.jpg A。
效果:每个类创建一个文件夹,将图片位置移动到目标路径下。
结果:原来图片在 预赛训练集-2000 文件夹下,运行后全部移到 data_test 文件夹下,该文件下有六类数据,每个文件夹下存放着对应类型的图片。

代码

import csv
import shutil
import os

target_path = '/home/wxy/天宫数据利用大赛/宽波段数据集-预赛训练集2000/data_test/'
original_path = '/home/wxy/天宫数据利用大赛/宽波段数据集-预赛训练集2000/预赛训练集-2000/'
with open('光学数据集-预赛训练集-2000-有标签.csv',"rt", encoding="utf-8") as csvfile:
    reader = csv.reader(csvfile)
    rows= [row for row in reader]
    for row in rows:
        if os.path.exists(target_path+row[1]) :
            full_path = original_path + row[0]
            shutil.move(full_path,target_path + row[1] +'/')
        else :
            os.makedirs(target_path+row[1])
            full_path = original_path + row[0]
            shutil.move(full_path,target_path + row[1] +'/')

你可能感兴趣的:(python)