En este artículo, veremos cómo combinar todos los archivos de Excel presentes en una carpeta en un solo archivo.
Módulo utilizado:
Las bibliotecas de python utilizadas son:
- Pandas : Pandas es una biblioteca de Python desarrollada para un lenguaje de programación de Python para manipular y analizar datos. Es ampliamente utilizado en ciencia de datos y análisis de datos.
- Glob : el módulo glob coincide con todos los nombres de ruta que coinciden con un patrón específico de acuerdo con las reglas utilizadas por Unix Shell.
Archivos de Excel utilizados:
Se utilizarán tres archivos de Excel que se combinarán en un solo archivo de Excel en una carpeta usando python. Los tres archivos de Excel son x1.xlsx , x2.xlsx y x3.xlsx :
Enfoque paso a paso:
- Primero tenemos que importar bibliotecas y módulos.
Python3
# importing pandas libraries and # glob module import pandas as pd import glob
- Configuración de la ruta de la carpeta donde se almacenan los archivos. Esta línea de código buscará la carpeta donde se almacenan los archivos.
Python3
# path of the folder path = r'test'
- Visualización de los nombres de los archivos en la carpeta usando el módulo Glob. La función glob.glob( ) buscará todos los archivos en la ruta dada con la extensión .xlsx. print(filenames) muestra los nombres de todos los archivos con extensión xlsx.
Python3
# reading all the excel files filenames = glob.glob(path + "\*.xlsx") print('File names:', filenames)
- Inicializando marcos de datos vacíos. Un marco de datos es una estructura de datos de tabla en Python para analizar y manipular los datos. Aquí tenemos que inicializar un marco de datos vacío para almacenar los datos combinados en los tres archivos.
Python3
# Initializing empty data frame finalexcelsheet = pd.DataFrame()
- Iterando a través de todos los archivos en la carpeta uno por uno. Tenemos que iterar a través de cada archivo usando for loop. La función pd.concat() concatenará todas las hojas múltiples presentes en los archivos de Excel como en el caso del tercer archivo de Excel en este ejemplo y las almacenará en una variable llamada df. La función finalexcelsheet.append( ) agregará los datos presentes en la variable df en finalexcelsheet uno por uno. Por lo tanto, con este fragmento de código, podrá combinar los archivos de Excel con facilidad.
Python3
# to iterate excel file one by one # inside the folder for file in filenames: # combining multiple excel worksheets # into single data frames df = pd.concat(pd.read_excel(file, sheet_name=None), ignore_index=True, sort=False) # Appending excel files one by one finalexcelsheet = finalexcelsheet.append( df, ignore_index=True)
- Visualización de los datos combinados. Para mostrar el archivo combinado, simplemente escriba print (finalexcelsheet).
Python3
# to print the combined data print('Final Sheet:') display(finalexcelsheet)
- Inserte los datos combinados en un nuevo archivo de Excel.
Python3
# save combined data finalexcelsheet.to_excel(r'Final.xlsx',index=False)
A continuación se muestra el programa Python completo basado en el enfoque anterior:
Python3
#import modules import pandas as pd import glob # path of the folder path = r'test' # reading all the excel files filenames = glob.glob(path + "\*.xlsx") print('File names:', filenames) # initializing empty data frame finalexcelsheet = pd.DataFrame() # to iterate excel file one by one # inside the folder for file in filenames: # combining multiple excel worksheets # into single data frames df = pd.concat(pd.read_excel( file, sheet_name=None), ignore_index=True, sort=False) # appending excel files one by one finalexcelsheet = finalexcelsheet.append( df, ignore_index=True) # to print the combined data print('Final Sheet:') display(finalexcelsheet) finalexcelsheet.to_excel(r'Final.xlsx', index=False)
Producción:
Excel final:
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA