如何使用python将csv文件中的文件从旧文件重命名为新文件

问题描述

我有一个包含两列的CSV文件

Filename_Old               |  Filename_New

Jean1_Aspect_Six.jpg       |  Jean1_Aspect_Six_New.jpg       
Jean2_Aspect_Five.jpg      |  Jean2_Aspect_Ratio_TN.jpg 
Jean1_Table_P2.jpg         |  Jean1_Table_TN.jpg
Jas_Snail_P3.png           |  Jas_P3_TN.png 

我有一千多张图片,需要使用此方法重命名。可以使用python完成吗?非常感谢。

解决方法

您可以使用zip遍历成对的相应项目:

import os

for old,new in zip(df['Filename_Old'],df['Filename_New']):
    os.rename(old,new)

由于您正在批处理大量文件,因此可能值得进行try,这样,如果其中一个重命名失败(例如,其中一个文件已被重命名),它就不会停止整个操作。例如:

for old,df['Filename_New']):
    try:
        os.rename(old,new)
    except OSError as exc:
        print(f'WARNING: could not rename {old} to {new}: {exc}')
    else:
        print(f'renamed {old} to {new}')

请注意,我要问的问题是指CSV文件的原始内容如下:

Filename_Old,Filename_New
Jean1_Aspect_Six.jpg,Jean1_Aspect_Six_New.jpg       
Jean2_Aspect_Five.jpg,Jean2_Aspect_Ratio_TN.jpg 
Jean1_Table_P2.jpg,Jean1_Table_TN.jpg
Jas_Snail_P3.png,Jas_P3_TN.png 

,并且您已使用以下内容阅读过它:

import pandas as pd
df = pd.read_csv("your_file.csv")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...