零代码编程:用ChatGPT进行批量重命名时需要注意特殊字符

用ChatGPT进行批量重命名时,一部分成功了,但有一部分文件标题没有变化。

问下ChatGPT怎么回事:

回复:在Windows中,文件名不能包含以下字符:\ / : * ? " < > |,使用Python的 str.replace 方法来替换Excel文件的第1列中不能用于文件名的字符

于是,把这个注意事项加入到提示词中:

你是一个Python编程专家,要完成批量重命名的任务,具体步骤如下:

读取F盘的表格文件:pname.xlsx,获取到第2列的数据;

逐一读取文件夹“D:\lexfridman-podcast”里面的所有mp3文件的名称,然后和表格pname.xlsx第2列所有内容进行比对,如果和某个单元格内容一致,则读取这个单元格同一行的第1列单元格的内容,以此对文件标题进行重命名;

注意:每一步都要输出相关信息;

在Windows中,文件名不能包含以下字符:\ / : * ? " < > |,使用Python的 str.replace 方法来替换Excel文件的第1列中不能用于文件名的字符

这次给出的源代码运行成功:

import os

import pandas as pd

# 读取Excel文件

df = pd.read_excel('F:\\pname.xlsx', usecols=[0, 1], header=None)

# 获取文件夹中的所有文件

folder_path = 'D:\\lexfridman-podcast'

files = os.listdir(folder_path)

# 定义一个函数,它会将所有不能用于文件名的字符替换为下划线 "_"

def sanitize_filename(filename):

invalid_chars = '\\/:*?"<>|'

for char in invalid_chars:

filename = filename.replace(char, '_')

return filename

# 遍历文件夹中的每一个文件

for file in files:

# 检查文件是否是mp3文件

if file.endswith('.mp3'):

# 去掉".mp3"后缀,方便比较

file_without_extension = file[:-4]

# 查找这个文件名在Excel表格的第二列(Python中索引从0开始)中的位置

matching_rows = df[df[1] == file_without_extension]

# 如果找到了匹配的行

if not matching_rows.empty:

# 获取新的名字,并清理无效的字符

new_name = sanitize_filename(matching_rows.iloc[0, 0]) + ".mp3"

# 输出信息

print(f"Renaming {file} to {new_name}")

# 重命名文件

os.rename(os.path.join(folder_path, file), os.path.join(folder_path, new_name))

# 完成后输出信息

print("All files have been renamed.")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/156025.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RISC-V IDE MRS无感远程协助模块详解

RISC-V IDE MRS无感远程协助模块详解 一、说明 1.1 概述 针对RISC-V/ARM等内核MCU的嵌入式集成开发环境MRS(MounRiver Studio)从V1.90版本开始内置无感远程协助模块&#xff08;Sensorless Remote Assistant Module&#xff0c;以下简称SRA模块&#xff09;。SRA模块是一款支…

【Java】LinkedList 集合

LinkedList集合特点 LinkedList 底层基于双向链表实现增删 效率非常高&#xff0c;查询效率非常低。 LinkedList源码解读分析 LinkedList 是双向链表实现的 ListLinkedList 是非线程安全的&#xff08;线程是不安全的&#xff09;LinkedList 元素允许为null,允许重复元素Linked…

跨境电商的新引擎:崛起的网红经济

随着全球数字化时代的崛起&#xff0c;跨境电商成为了国际贸易的新引擎&#xff0c;而在这个巨大的变革浪潮中&#xff0c;网红经济正在崭露头角&#xff0c;成为这一引擎的有力推动者。在这篇文章中&#xff0c;我们将深入探讨网红经济如何催生跨境电商的新动力&#xff0c;以…

蓝桥杯每日一题2023.10.31

题目描述 全球变暖 - 蓝桥云课 (lanqiao.cn) 题目分析 果然有关连通块类的问题使用dfs都较为好写~~ 我们可以通过判断连通块的代码来加上部分条件算出被完全淹没的岛屿个数 在岛屿中如果有为"#"的a[i][j]上下左右全部是"#"则说明此岛屿一定不会被完全…

IDEA在service面板中不显示微服务的项目

在.idea文件夹下的workspace文件中的project标签内添加如下代码段&#xff0c;&#xff0c;重启idea即可看到所有服务出现在了service面板中 <component name"RunDashboard"><option name"configurationTypes"><set><option value&q…

Debug技巧-不启用前端访问后端

在日常开发中&#xff0c;我们经常会遇到各种问题需要调试&#xff0c;前后端都启动需要耗费一定的时间和内存&#xff0c;方便起见&#xff0c;可以直接用抓包数据访问后端&#xff0c;这里我们需要用到Postman或者ApiFox 抓包数据 在系统前台触发后端请求&#xff0c;在控制…

pycharm怎么运行python代码

创建项目 在PyCharm中&#xff0c;你可以创建一个项目来组织和管理你的Python代码。项目是一个存放代码文件的文件夹&#xff0c;它可以包含多个模块和包。 启动PyCharm后&#xff0c;选择“Create New Project”来创建一个新项目。 在弹出的对话框中&#xff0c;选择项目的位…

zip2john 爆破zip工具

1.使用zip2john工具输出zip文件hash Zip2john 1.zip > 1.txt 2.使用john工具进行zip文件爆破 John 1.txt 如图所示&#xff1a; 该zip密码为19950101

创建javaEE项目(无maven),JSP(九大内置对象)、Servlet(生命周期)了解

一、Servlet和jsp 0.创建web项目(无maven)&#xff1a; 1.创建一个普通的java项目 2.项目根目录右键&#xff0c;添加模板 3.配置tomcat服务器 4.配置项目tomcat依赖 1.Servlet(Server Applet)服务端小程序 用户通过浏览器发送一个请求&#xff0c;服务器tomcat接收到后&…

一分钟教你批量删除文件名中特定文字

怎么批量删除文件名中特定文字&#xff1f;在这个信息化的时代&#xff0c;我们每天会通过电脑处理大量的电子文件。无论是个人还是企业用户&#xff0c;在文件管理过程中&#xff0c;常常会遇到文件名混乱、重复或包含特定文字等问题。这些问题对于文件的检索和整理造成了很大…

模块化机柜PDU为数据中心机房末端配电提供可靠解决方案

数据中心是国家确定的“新基建”七大领域之一&#xff0c;数据中心在国民经济和社会发展中所起的作用越来越重要&#xff0c;数据中心已经成为了各行各业的关键基础设施&#xff0c;数据中心供配电系统相当于一个人的“心脏和血管”&#xff0c;负责把能量输送到系统的每一台设…

C++11右值引用

C11增加了一个新的类型&#xff0c;称为右值引用&#xff0c;标记为T&&。 左值是指表达式结束后依然存在的持久对象&#xff0c;右值是指表达式结束时就不再存在的临时对象。 一个区分左值和右值的便捷方法是&#xff1a;看能不能对表达式取地址&#xff0c;如果能&…