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

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

本文介绍如何使用 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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。