下面是一个可能满足您需求的 Python 脚本示例:

import os
import re
import shutil
import pandas as pd

# 指定目录
directory = '/path/to/directory'

# 指定 Excel 文件和列
excel_file = '/path/to/excel/file.xlsx'
column_to_match = 'A'
column_to_move = 'B'

# 读取 Excel 文件
df = pd.read_excel(excel_file)

# 遍历目录下的所有文件夹
for folder in os.listdir(directory):
    folder_path = os.path.join(directory, folder)
    if os.path.isdir(folder_path):
        # 提取文件夹名称中的数字和字母部分
        match = re.search('[a-zA-Z0-9]+', folder)
        if match:
            # 获取匹配的值
            value = match.group(0)
            # 在 Excel 中查找匹配的值
            matched_row = df[df[column_to_match] == value]
            if not matched_row.empty:
                # 获取要移动到的文件夹名称
                move_folder = matched_row[column_to_move].values[0]
                move_folder_path = os.path.join(directory, move_folder)
                if not os.path.exists(move_folder_path):
                    os.makedirs(move_folder_path)
                # 移动文件夹
                shutil.move(folder_path, move_folder_path)

请注意,您需要使用正确的目录路径、Excel 文件路径以及要匹配的列和要移动的列。此外,您需要安装pandas库,如果没有安装可以使用以下命令安装:

pip install pandas

以上代码会遍历指定目录下的所有文件夹,提取文件夹名称中的数字和字母部分,并在指定的 Excel 文件中查找匹配的值。如果找到匹配的值,则根据另一个指定的列将文件夹移动到对应的文件夹下。


原文地址: https://www.cveoy.top/t/topic/pBNt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录