Python 脚本:按 Excel 数据分类移动文件夹
下面是一个可能满足您需求的 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 著作权归作者所有。请勿转载和采集!