python3.7 利用函数os pandas利用excel对文件名进行归类

yipeiwu_com6年前Python基础

这里用的python 版本是3.7最新的版本写的。 利用excel ,对门店的二维码对对应所属小区进行分类,比如在excel 江南摩尔店对应浙北大区,那么二维码名字为江南摩尔店的会自动分类到浙北大区这个文件夹中。

二维码图片文件如下:

我们在excel 利用简单的VLOOKUP函数进行数据匹配后得到如下:

这里意思是 江南摩尔店,平湖新华中路 属于浙北大区以此类推。

小区 门店
浙北大区 江南摩尔店
浙北大区 平湖新华中路
浙北大区 上虞青春店
浙北大区 上虞阳光店
浙北大区 三水湾店
浙北大区 吉水店
浙北大区 洪波路店
浙北大区 嘉善健康店
浙北大区 施家北路店
浙北大区 少年路店
浙北大区 王江泾店
浙北大区 海角湾店
浙北大区 舜湖店
浙北大区 桐乡庆丰店
浙西一区 龙游太平店
浙西一区 龙游北门店
浙西一区 衢州蛟池店
浙西一区 开化步行店
浙西一区 江山解放路
浙西一区 开化解放路
浙西一区 兰溪聚仁店
浙西一区 兰溪星辰店
浙西一区 建德店
浙西一区 龙游人民路
浙西二区 丽水中东店
浙西二区 丽水解放店
浙西二区 武义解放店
浙西二区 武义东升店
浙西二区 遂昌北街
.... ....

代码如下:

# encoding:utf-8
import os, shutil
import pandas as pd
while True:
  """
  下面try 代码是在D盘创建3个文件夹
  """
  try:
    os.makedirs("d:/shop/area")
    os.makedirs("d:/shop/qrcode")
    os.makedirs("d:/shop/excel")
 
  except:
 
    area_path = "d:/shop/area" #读取需要分类的大类路径
    qrcode_path = "d:/shop/qrcode" #读取文件
    excel_path = "d:/shop/excel" #读取excel
    info = input("请把需要分类依据的excel表格放入到:%s,放入好请输入y:" % excel_path) #这里我没有写判断是否存在文件,而是一个放入文件缓冲
    if info == "y" or "Y":
      excel_file = os.listdir(excel_path) #读取excel文件夹的文件
      rd_excel = pd.read_excel("d:/shop/excel/%s" % excel_file[0]) #读取excel内容
      list_shop = rd_excel.values.tolist() #讲excel 转成列表
      infocode = input("请把二维码文件放入到:%s,放入好请按y:" % qrcode_path) #这里我没有写判断是否存在文件,而是一个放入文件缓冲
      if infocode == 'y' or 'Y':
        qrcode_file = os.listdir(qrcode_path) #读取二维码目录下文件
        for shops in list_shop: #循环excel转成的列表的值
          for files in qrcode_file: #循环读取qrcode目录下文件
            ewm = os.path.splitext(files)[0] #讲qrcode 目录下文件进行分割出文件名
            if ewm == shops[1]: #判断 qrcode目录下的文件名是否等于表格中的需要进行分类的文件名
              if os.path.exists(area_path + '/' + shops[0]): #判断路径是否存在
                shutil.move(qrcode_path + '/' + ewm + '.png', area_path + '/' + shops[0]) #移动文件
              else:
                os.mkdir(area_path + '/' + shops[0]) #不存在,就创建文件 根据excel创建小区的文件夹
    break

完成好如下: 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

给Python中的MySQLdb模块添加超时功能的教程

使用Python操作MySQL数据库的时候常使用MySQLdb这个模块。 今天在开发的过程发现MySQLdb.connect有些参数没法设置。通过这个页面我们可以看到在connect的时...

python3应用windows api对后台程序窗口及桌面截图并保存的方法

python的版本及依赖的库的安装 #版本python 3.7.1 pip install pywin32==224 pip install numpy==1.15.3 pip in...

用Python编写一个高效的端口扫描器的方法

用Python编写一个高效的端口扫描器的方法

PyPortScanner python多线程端口扫描器。 输出示例: Github 此端口扫描器的源码,文档及详细调用方法见Github PythonPortScanner by...

python 多线程中子线程和主线程相互通信方法

需求:主线程开启了多个线程去干活,每个线程需要完成的时间不同,但是在干完活以后都要通知给主线程 下面上代码: #!/usr/bin/python # coding:utf8 '''...

python判断所输入的任意一个正整数是否为素数的两种方法

素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整...