用Python根据Excel指定文件名将其批量移动到另一个文件夹

用Python根据Excel指定文件名将其批量移动到另一个文件夹

任务

在D盘的srcpic文件夹里有3000张照片,统一都是jpg格式,我想要根据Excel表格里指定的照片,从文件里面找出对应的照片并存放到dstpic文件夹里

使用到的模块

  • os模块
    os 模块提供了非常丰富的方法用来处理文件和目录
  • xlrd模块
    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,这个模块里仅支持.xls格式,不支持读写.xlsx
  • shutil模块
    shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建、删除、查看等方法,还提供了对文件以及目录的路径操作。shutil模块提供了移动、复制、 压缩、解压等操作,恰好与os互补,共同一起使用,基本能完成所有文件的操作。是一个非常重要的模块。

实现代码

import os
import xlrd
import shutil

dirpath = r'D:\srcpic'   #存放图片的文件夹
dstpath = r'D:\dstpic'   #保存图片的文件夹
datapath = r'D:\名单.xls'   #excel表路径

x1 = xlrd.open_workbook(datapath)    #读取excel
sheet1 = x1.sheet_by_name("Sheet1")    #读取Sheet1

idlist = sheet1.col_values(1)    #存放第2列,图片名称(含扩展名)
file_names = os.listdir(dirpath)    #获取文件夹下所有图片名称(含扩展名)

for i in idlist:
    for j in file_names:
        if i == j:               # 从excel里找到文件夹中对应的图片
            src = os.path.join(dirpath, '%s' % i)      # 构造图片源文件的绝对路径
            #print("src=",src)
            dst = os.path.join(dstpath, '%s' % i)     # 构造图片移动的绝对路径
            #print("dst=",dst)
            shutil.move(src, dst)

学习心得

以上代码主要参考网上的各类大神的总结经验,以及结合个人的理解而调制出来的。
利用Python可以快速完成批量重复的工作,以此文章记录下来以便日后重复使用。

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值