Python 3.7 结合 Excel 与 Pandas 实现二维码文件自动归类

Ruby
Ruby
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍如何使用 Python 3.7 版本,结合 os 和 shutil 库进行文件操作,利用 Pandas 读取 Excel 中的门店与大区对应关系。通过 VLOOKUP 匹配逻辑,程序自动将二维码图片文件按所属小区名称分类并移动至指定文件夹,实现批量自动化管理。

Python 3.7 实现二维码文件自动归类方案

本示例基于 Python 3.7 最新版本编写。主要功能是利用 Excel 表格数据,对门店二维码图片进行归类整理。例如,若 Excel 中规定“江南摩尔店”归属于“浙北大区”,程序会自动将名为“江南摩尔店”的二维码图片文件分类并移动至“浙北大区”对应的文件夹中。

二维码图片文件示例

待处理的二维码图片文件示例如下:

Excel 数据匹配结果

我们在 Excel 中使用简单的 VLOOKUP 函数进行数据匹配,处理后的结果如下所示:

该表格表明“江南摩尔店”和“平湖新华中路”均属于“浙北大区”,其他门店依此类推。

门店与区域对应关系表

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

Python 自动化脚本实现

具体实现代码如下:

核心代码逻辑解析


# 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 相关产品和应用

全部下载

专题列表