Python - Renombrar carpetas

 
Vista:
sin imagen de perfil

Renombrar carpetas

Publicado por Henry (1 intervención) el 29/08/2022 19:10:51
El problema que tengo es a la hora de reemplazar un nombre de carpeta basados en un nombre que esta situado en una hoja de calculo (EXCEL) lo que me cuesta es iterar en el directorio, ya que sí me cambia el primer registro que encuentra. Pero se detienen inmediatamente después de hacerlo. La duda ¿Como iterar dentro del directorio para cambiarlo todo masivamente?,¿Que debo hacer para que cuando no encuentre la carpeta, la genere y a su vez si ya esta la evite y siga comprobando el resto de carpetas? Agradezco su ayuda.

Nota : Dentro de la misma Hoja de calculo tengo una columna, es la que me va a servir de guía para validar si la fila es igual a la del directorio y así realizar el reemplazo.

Ejemplo de La información en la hoja de Calculo:

columna A

Inicial \sdominio\Rentas_Catastro_Valoraión\EXPEDIENTES\610020P00753 (esta la uso para comparar la igualdad con las carpetas del directorio.

Columna B

final \sdominio\Rentas_Catastro_Valoraión\EXPEDIENTES\610020P0075300


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Importamos las librerias
import os
import pathlib,shutil,glob
from os import listdir, path
import pandas as pd
 
 
 
 #Directorio de las carpetas a remplazar
 
 directorio=
   pathlib.Path(r'\\sdominio\Rentas_Catastro_Valoraión\EXPEDIENTES')
 
 # Conexión con Hoja de Calculo
 
 
   df = pd.read_excel( r"E:\P1\info_fincas_1.xlsx")
 
 
# Listamos el directorio y convertimos las columnas en listas.
 
contenido= os.listdir(directorio)
cold_old = df['Inicial'].tolist()
cold_new = df['final'].tolist()
 
 
# Iteramos dentro de las dos columnas, sin embargo salta un problema con
la primera finca creada
 
try:
  for old_name,new_name in zip(cold_old,cold_new):
       os.rename(old_name,new_name)
 
except FileNotFoundError :
       if not os.path.exists(old_name):
          os.makedirs(new_name,exist_ok=True)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder