¿Cómo utilizo Pandas para leer varios archivos xlsx y generar uno en un archivo individual en varias hojas?

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í:

  1. Directorio tiene 4 archivos .xlsx
  2. Leer todos los 4 archivos .xlsx
  3. Coloque los 4 archivos .xlsx en un solo archivo
  4. Cada archivo debe representar una hoja.

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.