当前位置: 首页 > article >正文

批量重命名Excel文件并排序

批量重命名Excel文件并排序

python环境:3.5.2

import os
import logging

# 配置日志记录
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')


def rename_files_with_sequence(directory):
    # 检查文件夹是否存在
    if not os.path.isdir(directory):
        logging.error("Directory '{}' does not exist or is not a directory.".format(directory))
        return

    try:
        # 获取指定目录中的所有 XLS 和 XLSX 文件
        files = [f for f in os.listdir(directory) if f.endswith('.xls') or f.endswith('.xlsx')]

        # 按照文件名排序
        files.sort()

        # 遍历文件并添加序号前缀
        for index, filename in enumerate(files, start=1):
            # 分离文件名和扩展名
            file_base, file_ext = os.path.splitext(filename)

            # 构建新的文件名
            new_filename = "{}、{}{}".format(index, file_base, file_ext)

            # 获取旧文件和新文件的完整路径
            old_file_path = os.path.join(directory, filename)
            new_file_path = os.path.join(directory, new_filename)

            # 检查新文件是否已存在
            if os.path.exists(new_file_path):
                logging.warning("{} already exists. Skipping.".format(new_filename))
                continue

            # 重命名文件
            os.rename(old_file_path, new_file_path)
            logging.info("Renamed: {} -> {}".format(filename, new_filename))
    except Exception as e:
        logging.error("An error occurred: {}".format(e))


# 指定你的文件夹路径
directory_path = r"D:\桌面\2024年外宣上稿情况"

# 执行重命名操作
rename_files_with_sequence(directory_path)

http://www.kler.cn/a/394541.html

相关文章:

  • Ubuntu 的 ROS 操作系统安装与测试
  • Llama微调测试记录
  • 优化时钟网络之时钟抖动
  • ssm100医学生在线学习交流平台+vue(论文+源码)_kaic
  • Spring Boot 1.x 版本可以集成 Spring Cloud Sleuth
  • Linux 进程线程间通信总结
  • 亮数据——助力全球数据抓取的高效代理平台
  • 力扣最热一百题——完全平方数(中等难度,详细分析)
  • 【Excel】ToRow超级查找函数
  • 随机数
  • Spring Boot中的自动装配机制
  • 【竞技宝】CS2-上海majorRMR:美洲区最后门票争夺战
  • Spark 共享变量:广播变量与累加器解析
  • spring-webmvc根据请求路径找到对应的 HandlerMethod
  • [代码随想录Day11打卡] 150. 逆波兰表达式求值 239. 滑动窗口最大值 (有点难度) 347.前 K 个高频元素 (有点难度) 总结
  • 28、dawn
  • .NET 中的虚拟内存
  • 浅谈C#之多线程流式适配器
  • kafka如何知道哪个消费者消费哪个分区?
  • 单片机设计智能翻译手势识别系统
  • 「QT」窗口类 之 QWidget 窗口基类
  • 进入未来城:第五周游戏指南
  • 机器学习day4-朴素贝叶斯分类和决策树
  • ssm121开放式教学评价管理系统+vue(论文+源码)_kaic
  • java -jar`命令详解:运行JAR文件、传递参数与性能调优
  • 版本更新|大量云机风控指纹升级、新增安卓10系统!DuoPLus云手机新版本上线