Проблема в этом блоке
for file in os.listdir():
if file == df["Orginal File Name"]:
os.rename(file, df["New File Name"])
else:
print(file + "was not renamed")
В частности, в этой строке -
if file == df["Orginal File Name"]:
Проблема с этой строкой состоит в том, что переменная file
представляет собой одну строку, тогда какdf["Orginal File Name"]
- это целый столбец.По сути, вы пытаетесь сравнить одну строку с массивом, содержащим целый набор строк.
Чтобы исправить это, вы можете перебирать строки, например:
for file in os.listdir():
for index, row in df.iterrows():
os.rename(row["Orginal File Name"], row["New File Name"])
РЕДАКТИРОВАТЬ
FileNotFoundError
, который получает OP,вероятно, потому что в вашем фрейме данных есть имя файла, которого нет в каталоге.Вы можете запустить следующий блок
for file in os.listdir():
for index, row in df.iterrows():
try:
os.rename(row["Orginal File Name"], row["New File Name"])
except:
print(row["Orginal File Name"])
Этот блок позволит вам продолжить работу, даже если файл отсутствует в вашем каталоге, и распечатает имена файлов, которых нет.