台阶级 发表于 2024-11-25 10:10:04

Python实现批量文件自定义命名

背景

有时候我们经常需要对某一个文件夹中的文件进行重命名修改,但是我们一个一个取修改将会非常繁琐,所以我们可以先创建一个Excel,其中有两列,
一列表示【源文件名】;一列表示【新文件名】

A列【源文件名】如下粘贴至A列【源文件名】

B列【新文件名】自己写


项目目录

1、文件夹【数据源】:存放待改名的文件
2、文件夹【改名规则】:就是上面那张表
3、文件夹【修改后】:存放修改好的文件


库的介绍

shutil 是 Python 的一个标准库模块,提供了许多高级的文件操作功能。这些功能包括复制、移动、删除以及修改文件和目录等。shutil 模块的设计目的是简化文件管理任务

库的安装

库用途安装pandas读取Excelpip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/os获取绝对路径内置库无需安装os操作文件内置库无需安装
核心代码

新 \ 旧 文件名 映射表 读取
df = pd.read_excel(rules_folder+os.listdir(rules_folder))文件移动 \ 复制
shutil.move(old_file_path, new_file_path)
完整代码

# -*- coding: UTF-8 -*-
'''
@Project :文件自定义命名
@File    :文件重命名.py
@IDE   :PyCharm
@Author:
@Date    :2024/11/12 17:57
'''

import os
import pandas as pd
import shutil

# 定义文件夹路径
source_folder = '数据源'
rules_folder = './改名规则/'
target_folder = '修改后'

# 创建目标文件夹,如果不存在
os.makedirs(target_folder, exist_ok=True)

# 读取Excel文件,假设文件名为"rename_rules.xlsx"

df = pd.read_excel(rules_folder+os.listdir(rules_folder))

# 遍历Excel的每一行
for index, row in df.iterrows():
    old_name = row['源文件名']
    new_name = row['新文件名']

    # 构建源文件的完整路径
    old_file_path = os.path.join(source_folder, old_name)

    # 检查源文件是否存在
    if os.path.isfile(old_file_path):
      # 构建新的文件路径
      new_file_path = os.path.join(target_folder, new_name)

      # 移动并重命名文件
      shutil.move(old_file_path, new_file_path)
      print(f"文件 '{old_name}' 已重命名为 '{new_name}' 并移动至文件夹【修改后】。")
    else:
      print(f"文件 '{old_name}' 未找到,保留在文件夹【数据源】。")

print("文件重命名和移动操作完成!")
进阶版(GUI打包版本)


到此这篇关于Python实现批量文件自定义命名的文章就介绍到这了,更多相关Python文件自定义命名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/python/33101349f.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Python实现批量文件自定义命名