如何使用 python 将 csv 文件中的旧文件重命名为新文件?
How to rename files from old to new from csv file using python?
我有一个包含两列的 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, new in zip(df['Filename_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")
我有一个包含两列的 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, new in zip(df['Filename_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")