根据图片名称读取本地图片并输出

有的时候,文件夹里的图片太多,我们需要根据自己的需要找到相应的图片,此时,我们可以根据自己的需要,将自己需要的图片名称写入到excel表格中,然后读取图片名称,输出到相应的文件夹。
假如,我们现在需要将储存在E盘里的“origin_file”文件夹里面需要的图片输出到“new_file”文件夹里,需要图片的图片名储存在excel表格“img.xlsx”中的“Sheet1”的第一列,示例图片及代码如下。
如图所示,这是储存在E盘的原文件夹“orgin_file”,现在想要按文件名输出图片1.jpg,3.jpg,6.jpg。
储存在E盘的原文件夹“origin_file”首先需要建立原文件夹路径
代码如下:

import pandas as pd
import os
import shutil
#1.建立原文件夹路径,以在后面读取存放在E盘里的原文件夹“origin_file”
os.chdir("E:\\")
dir_path="origin_file"

然后建立新文件夹路径
代码如下:

#2.建立需要输出的新文件夹“new_file”
new_img_folder="new_file"

然后读取储存在excel中的需要图片的图片名并输出相应图片
储存在excel中的需要图片的图片名代码如下:

#3.读取目标图片的图片名
#3.1读取excel文件
data=pd.read_excel('img.xlsx',sheet_name="Sheet1")
#3.2读取excel文件第一列
cols=data.iloc[:,0]
#3.3遍历第一列,读取目标文件名
for i in cols:
    i=str(i)+".jpg"   #原文件是jpg文件,如果是png就改为png
#4.输出相应的图片
#4.1遍历原文件夹
    for root,dirs,files in os.walk(dir_path): 
    #os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。
    # root 表示当前正在访问的文件夹路径
    # dirs 表示该文件夹下的子目录名list
    # files 表示该文件夹下的文件list
#4.2遍历文件list里的所有的文件
        for file in files:
#4.3判断原文件夹里的文件的文件名是否等于目标的文件名
            if file==i:
#4.4将目标的文件从原文件夹复制到新的文件夹中
                shutil.copy(os.path.join(root,file),new_img_folder)
#4.5显示当前输出文件
                print("当前运行{}".format(file))

然后就可以看到目标图片文件到新的文件夹new_file里了
目标图片文件到新的文件夹完整代码如下:

import pandas as pd
import os
import shutil
#1.建立原文件夹路径,以在后面读取存放在E盘里的原文件夹“origin_file”
os.chdir("E:\\")
dir_path="origin_file"
#2.建立需要输出的新文件夹“new_file”
new_img_folder="new_file"
#3.读取目标图片的图片名
#3.1读取excel文件
data=pd.read_excel('img.xlsx',sheet_name="Sheet1")
#3.2读取excel文件第一列
cols=data.iloc[:,0]
#3.3遍历第一列,读取目标文件名
for i in cols:
    i=str(i)+".jpg"   #原文件是jpg文件,如果是png就改为png
#4.输出相应的图片
#4.1遍历原文件夹
    for root,dirs,files in os.walk(dir_path): 
    #os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。
    # root 表示当前正在访问的文件夹路径
    # dirs 表示该文件夹下的子目录名list
    # files 表示该文件夹下的文件list
#4.2遍历文件list里的所有的文件
        for file in files:
#4.3判断原文件夹里的文件的文件名是否等于目标的文件名
            if file==i:
#4.4将目标的文件从原文件夹复制到新的文件夹中
                shutil.copy(os.path.join(root,file),new_img_folder)
#4.5显示当前输出文件
                print("当前运行{}".format(file))

猜你喜欢

转载自blog.csdn.net/weixin_47970003/article/details/121763578