使用python将图片按标签分入不同文件夹的方法

yipeiwu_com6年前Python基础

给定图像集如下,所有类别的图片均在一个文件夹内:

python将图片按标签分入不同文件夹

给定与图片名相匹配的表格,声明每张图片对应的类别(共有20个类别):

python将图片按标签分入不同文件夹

那么,如何根据表格中所给的类别将图片分入对应的文件夹内呢?以我的情况为例,我想将图片分为20类(CATEGORY_ID有0-19共20类),可利用下面的代码进行分类(经细心网友指正,代码已做出修改)。

#引入相关库

import pandas as pd
import os
import shutil #用于移动文件
#打开表格文件并读取
f=open("list.csv","rb") #输入表格所在路径+名称
list=pd.read_csv(f)
list["FILE_ID_JPG"]=".jpg" #建立图片名与类别相对应
list["FILE_ID1"]=list["FILE_ID"]+list["FILE_ID_JPG"] #建立图片名与类别相对应
#创建文件夹
for i in range(20):
 os.mkdir(str(i))
#进行分类
for i in range(0,20):
 listnew=list[list["CATEGORY_ID"]==i]
 l=listnew["FILE_ID1"].tolist()
 j=str(i)
 for each in l:
  shutil.move(each,j)

大功告成!

python将图片按标签分入不同文件夹

以上这篇使用python将图片按标签分入不同文件夹的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python列表生成式与列表生成器的使用

列表生成式:会将所有的结果全部计算出来,把结果存放到内存中,如果列表中数据比较多,就会占用过多的内存空间,可能会导致MemoryError内存错误或者导致程序在运行时出现卡顿的情况 列表...

实例讲解Python中整数的最大值输出

在Python中可以存储很大的值,如下面的Python示例程序: x = 10000000000000000000000000000000000000000000; x = x...

python中struct模块之字节型数据的处理方法

简介 这个模块处理python中常见类型数据和Python bytes之间转换。这可用于处理存储在文件或网络连接中的bytes数据以及其他来源。在python中没有专门处理字节的数据类型...

使用python获取CPU和内存信息的思路与实现(linux系统)

大家都知道,linux里一切皆为文件,在linux/unix的根目录下,有个/proc目录,这个/proc 是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/p...

Python装饰器实现几类验证功能做法实例

最近新需求来了,要给系统增加几个资源权限。尽量减少代码的改动和程序的复杂程度。所以还是使用装饰器比较科学 之前用了一些登录验证的现成装饰器模块。然后仿写一些用户管理部分的权限装饰器。 比...