Leockl:
¿Cómo se lee en los archivos y los archivos de salida con los mismos nombres de archivo en otra subcarpeta utilizando pathlib.Path().glob()
?
Mi directorio es el siguiente:
New Folder 1
-> p1_a.csv
-> p1_b.csv
-> New Folder 2
Código:
from pathlib import Path
import pandas as pd
file_path = r'C:\Users\HP\Desktop\New Folder 1'
for fle in Path(file_path).glob('p1_*.csv'):
df = pd.read_csv(fle)
# do something with df
df.to_excel(file_path + r'\New Folder 2' + 'p1_*.csv' + '_new.csv')
El bit del código que no estoy seguro es de 'p1_*.csv'
.
Después de que se ejecuta el código, mi directorio debe tener este aspecto:
New Folder 1
-> p1_a.csv
-> p1_b.csv
-> New Folder 2
-> -> p1_a.csv_new.csv
-> -> p1_b.csv_new.csv
¿Qué tengo que tener en el 'p1_*.csv'
poco para que los nuevos archivos copiados en Nueva Carpeta 2 tiene una parte de los mismos nombres de archivo como el archivo original?
Muchas gracias de antemano.
Shubham Sharma:
Prueba esto:
import os
import pandas as pd
from pathlib import Path
source_dir = r'C:/Users/HP/Desktop/New Folder 1'
for path in Path(source_dir).glob('p1_*.csv'):
df = pd.read_csv(path)
# TODO: do something with df
filename = os.path.basename(path) #--> gets the file name
dest_path = os.path.join(source_dir, "New Folder 2", f"{filename}_new.csv")
df.to_csv(dest_path)
Ahora la estructura de directorios se verá así:
New Folder 1
├── New Folder 2
│ ├── p1_a.csv_new.csv
│ └── p1_b.csv_new.csv
├── p1_a.csv
└── p1_b.csv