吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 633|回复: 5
收起左侧

[求助] Python文件夹 查找匹配更名求助

[复制链接]
74Y1085 发表于 2023-2-22 22:23
求助一项 python对文件夹名称按照 对应数据匹配的批量重命名,很多小工具都可以实现批量命名..但是文件夹的排序有时杂乱无章导致需要这个想法  查找到文件夹对应的新修改值后命名。
例:文件夹(01 Excel基础操作)        改成        (01 文档系统操作) 文件夹名中包含符号的
04140.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ljl9090 发表于 2023-2-22 23:40
我觉得可以
1.把修改前后的名称读取表格后,定义为一个字典;
2.然后遍历大文件夹下各个文件夹
os.listdir(‘大文件夹名’) ,
然后通过 os.rename('修改前文件夹名','修改后文件夹名')
cflying 发表于 2023-2-23 09:37
既然都已经有了对应关系了,直接一边遍历对应关系,一边改名不就得了,这里注意要对重名进行处理下就行
头像被屏蔽
saszznz 发表于 2023-2-23 09:50
know1234 发表于 2023-2-23 10:18
本帖最后由 know1234 于 2023-2-23 10:55 编辑

#pip install opencv-contrib-python -i https://pypi.douban.com/simple
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import openpyxl
import os

excel = openpyxl.load_workbook("001.xlsx")

#读取分表
ws = excel['Sheet1']

rows = ws.max_row #获取最大行

columns = ws.max_column #获取最大列
#创建一个空字典,用于存放原文件名和新文件名;excel左代表原文件名,右代表待修改的新文件名
data_dict ={}
#通过for遍历到字典
for i in range(2,rows+1):
    data_dict[str(ws.cell(i,1).value)] = str(ws.cell(i,2).value)

#要批量修改的上级文件夹路径
input_dir = r'D:\py01\json\name\des'
#遍历待修改的文件夹名
for video_name in os.listdir(input_dir):

    #这是待修改的文件路径
    video_path = os.path.join(input_dir, video_name)
    #将待修改的文件名与excel表提取的原文件名匹配
    if(data_dict.get(video_name)):
        #更名
        try:
            os.rename(video_path,input_dir+"\\"+ data_dict.get(video_name))
        except FileExistsError:
            print(data_dict.get(video_name)+":"+"文件已存在")
    else:
        print(video_name+":未在excel表中找到")
image.png
1677119077057.jpg
1677119137151.jpg

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
74Y1085 + 1 + 1 谢谢@Thanks!,牛啊!

查看全部评分

 楼主| 74Y1085 发表于 2023-2-23 19:12
saszznz 发表于 2023-2-23 09:50
[mw_shl_code=python,true]import os

file_name_map = {'Excel基础操作': '文档系统操作',

感谢,感谢!学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表