Переименовать файлы пдф согласно наименованиям, указанным в эксель файле
Прошу помощи, не знаю как переименовать файлы пдф согласно списка. В эксель файле первый столбец — это название старое пдф файла, а второй столбец - название новое, в которое хочу переименовать. Пдф файлы здесь.
Я взяла пример кода, который похож под мою задачу. Но не могу осилить ошибку, которая вылетает при его исполнении. Вот код:
Path = r"C:\Users\ua.bondarenko\Desktop\инн11"
def rename_file(file_to_rename, source_file):
p = Path(file_to_rename)
filename = p.stem
wb = xlrd.open_workbook(source_file)
# excel file to get new filename????
sheet = wb.sheet_by_index(0)
for row_num in range(sheet.nrows):
row_value = sheet.row_values(row_num)
col = 2 # 'john smith' col number
if row_value[col] == filename:
new_filename = f'{row_value[col+1]}' # format as you want
p.rename(Path(p.parent, new_filename + p.suffix)) # rename
print("the if was matched!", new_filename, Path(p.parent, new_filename + p.suffix))
break
def get_paths_in_directory(directory):
return Path(directory).glob('*.pdf')
def my_func():
source_file = r'C:\Users\ua.bondarenko\Desktop\2.xls' # excel file to get new filename
source_directory = r'C:\Users\ua.bondarenko\Desktop\инн11' # directory where your files to rename are.
# iterate all pdf files in the given directory
paths = get_paths_in_directory(source_directory)
for file_to_rename in paths:
rename_file(str(file_to_rename), source_file)
my_func()
Вот ошибка:
Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_14932\2121383975.py in <module>
30 rename_file(str(file_to_rename), source_file)
31
---> 32 my_func()
~\AppData\Local\Temp\ipykernel_14932\2121383975.py in my_func()
26
27 # iterate all pdf files in the given directory
---> 28 paths = get_paths_in_directory(source_directory)
29 for file_to_rename in paths:
30 rename_file(str(file_to_rename), source_file)
~\AppData\Local\Temp\ipykernel_14932\2121383975.py in get_paths_in_directory(directory)
18
19 def get_paths_in_directory(directory):
---> 20 return Path(directory).glob('*.pdf')
21
22 def my_func():
TypeError: 'str' object is not callable