Los archivos .xlsx
se encuentran todos en un directorio. Solo hay un archivo .xlsx
en este directorio. Necesito tomar cada uno de los archivos .xlsx
individuales e insertarlo en una sola hoja.
El ejemplo se ve así:
.xlsx
.xlsx
.xlsx
en un solo archivo El resultado final debe ser un archivo de Excel con 4 hojas.
El proceso para hacer esto es:
0 . Preparar
Instale los paquetes requeridos:
pip install pandas pip install xlsxwriter
Luego importe los pandas en el archivo Python en el que está trabajando:
import pandas as pd
1 . Leer en los archivos .xlsx
un Cada uno por su nombre:
df1 = pd.read_excel('./excelfile1.xlsx')
etc
b . Lea todo en el directorio actual en:
import os, re dfs = [] for fname in os.listdir(): if re.search(r'\.xlsx$', fname): dfs.append(pd.read_excel(fname))
2 . Crear un nuevo archivo y agregar archivos existentes como hojas
writer = pd.ExcelWriter('./newfilename.xlsx', engine='xlsxwriter') sheet_names = ['sheet1', ...] for df, sheet_name in zip(dfs, sheet_names): df.to_excel(writer, sheet_name=sheet_name) writer.save()
Esto creará un nuevo archivo de Excel en el directorio actual llamado newfilename.xlsx
con cada uno de sus archivos de Excel existentes como hojas.