通过excel表格批量修改文件夹名称

发布时间 2023-12-13 15:01:51作者: 不上火星不改名

脚本功能

这个脚本用于重命名文件夹,特别是在多层嵌套的文件夹结构中。它通过读取一个Excel表格来获取重命名的信息。表格的第一列应包含当前的文件夹名称,第二列包含您想要更改为的新名称。脚本会递归地遍历指定路径下的所有文件夹,并根据表格中的信息重命名匹配的文件夹。

 

import os
import pandas as pd

def rename_folders_recursively(base_path, folder_mapping):
    for root, dirs, files in os.walk(base_path):
        for dir_name in dirs:
            if dir_name in folder_mapping:
                old_dir_path = os.path.join(root, dir_name)
                new_dir_path = os.path.join(root, folder_mapping[dir_name])
                os.rename(old_dir_path, new_dir_path)
                print(f"已将 '{old_dir_path}' 重命名为 '{new_dir_path}'。")

def main():
    # 询问文件夹路径和Excel表格路径
    base_path = input("请输入文件夹路径: ")
    excel_path = input("请输入Excel表格路径: ")

    # 读取Excel文件
    df = pd.read_excel(excel_path)
    
    # 检查确保第一列和第二列存在
    if df.shape[1] < 2:
        print("Excel表格需要至少两列数据。")
        return

    # 获取文件夹名称映射
    folder_mapping = dict(zip(df.iloc[:,0], df.iloc[:,1]))

    # 遍历并重命名文件夹
    rename_folders_recursively(base_path, folder_mapping)

if __name__ == "__main__":
    main()