首页 > 编程语言 >python脚本重命名文件

python脚本重命名文件

时间:2024-12-23 17:58:44浏览次数:2  
标签:重命名 脚本 old name python column file new path

代码如下:

import os
import pandas as pd

def rename_files_based_on_excel(excel_path, folder_path, id_column='id', old_name_column='ori_name', new_name_column=None):
    # 读取Excel文件
    df = pd.read_excel(excel_path)
    
    # 获取文件夹中的所有文件
    files = os.listdir(folder_path)
    
    # 如果没有指定新的名称列,则默认使用ID列作为新文件名
    if not new_name_column:
        new_name_column = id_column
    
    # 遍历DataFrame中的每一行
    for index, row in df.iterrows():
        old_file_name = None
        
        # 尝试找到文件名中包含ID的文件
        for file in files:
            if str(row[old_name_column]) in file:
                old_file_name = file
                break
        
        # 如果找到了匹配的文件,则重命名
        if old_file_name is not None:
            # 构建新的文件名,保持原有的扩展名
            file_extension = os.path.splitext(old_file_name)[1]
            new_file_name = f"{str(row[new_name_column]).strip()}{file_extension}"
            
            # 确保新旧文件名不同
            if old_file_name != new_file_name:
                old_file_path = os.path.join(folder_path, old_file_name)
                new_file_path = os.path.join(folder_path, new_file_name)
                
                try:
                    os.rename(old_file_path, new_file_path)
                    print(f'Renamed: {old_file_name} -> {new_file_name}')
                except Exception as e:
                    print(f'Could not rename {old_file_name}: {e}')

# 使用函数,提供Excel路径、文件夹路径、ID列名以及可选的新名称列名
excel_path = r'C:\Users\xxx\Downloads\text.xls'
folder_path = r'C:\Users\xxx\Downloads\origin'
rename_files_based_on_excel(excel_path, folder_path, 'id', 'ori_name', 'new_name')

text.xls中设置 id ori_name(原名称) new_name(新名称) 列

标签:重命名,脚本,old,name,python,column,file,new,path
From: https://www.cnblogs.com/ZerlinM/p/18624696

相关文章

  • 利用Python爬虫高效获取苏宁商品信息:按关键字搜索的实战指南
    在信息爆炸的今天,数据的获取和处理能力成为了衡量一个企业竞争力的重要指标。对于电商平台而言,如何快速、准确地获取商品信息,成为了提升运营效率的关键。本文将详细介绍如何使用Python爬虫技术,高效地按关键字搜索苏宁商品,并提供详细的代码示例。1.Python爬虫技术概述Python......
  • Python print输出变量的4种方式
    1)f-stringPyhon从3.6开始,新增了f-string方法:name="Mike"age=18print(f"Mynameis{name}andI'm{age}yerasold")#MynameisMikeandI'm18yerasold 相比其它方法,这个方法更简洁,并且运行高效。2)占位符模式(%formatting)print("Mynameis%s&......
  • centos7从源码安装python
    1.更换yum源备份(官方停止维护,无所谓了),更改配置文件,清除缓存,建立缓存mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backupCentOS-Base.repo#CentOS-Base.repo##ThemirrorsystemusestheconnectingIPaddressoftheclientandthe#u......
  • 【Python运维】Python运维工具:用`psutil`监控系统性能
    《PythonOpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门!解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界在现代的IT运维中,实时监控系统性能是确保服务器、网络和应用健康运行的基础。Python作为一种灵活的编程语言,在运维管理中得到了广泛应用。psut......
  • Python数据分析-爬虫实战
    数据分析1.爬虫相关概念爬虫的分类聚焦爬虫完成某一项特定数据的采集百分之九十的爬虫都是聚焦爬虫通用爬虫什么内容都采集,都存下来搜索引擎百度谷歌增量爬虫既可以是聚焦爬虫也可以是通用爬虫当内容发生变化,可以增量的获取内容(比如爬取博客,第二天又新......
  • Python工具箱系列(五十八)
    音频的操作音乐是人类的通用语言,不分国界不分种族。而从数学角度看,音乐就是时间和频率的关系。声音的本质是波,人类听觉的原理就是波引起了耳朵鼓膜的振动。人们用不同乐器、不同力度,在一段连续时间里敲击,就组合出了时间和频率的关系。一切物体都有自己的频率,所以整个世界也可以理......
  • Python中的虚拟环境:如何使用venv和pipenv进行依赖管理
    《PythonOpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门!解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界在Python开发过程中,依赖管理是一个至关重要的任务。随着项目逐渐发展,依赖库的版本可能会发生冲突,甚至影响项目的稳定性和可维护性。为了解决这......
  • [python3] 获取zabbix上所有主机的ip
    get_zabbix_hosts.pyimportrequestsimportjson......
  • unity数据间脚本传递
    数据传递静态字段 通过类名获取 公开属性,Get方法 每一个Item实例?实例  私有属性如何获得  拖拽获取  非拖拽方法 本地存储       单例模式 消息通知同一对象同级或者下级才能使用,  委托 ......
  • linux上最简单的python脚本
    1.内容python<<pythonoffprint("123")pythonoff2.构建过程2.1创建文件touchtest.sh2.2添加内容echo"python<<pythonoff">test.shecho"print("123")">>test.shecho"pythonoff">>test.s......