Python, como lenguaje, es muy valioso, especialmente cuando quieres trabajar con datos estructurados. Como la gente almacena muchos datos en archivos de Excel, es imprescindible consolidar varios archivos para ahorrar tiempo y esfuerzo.Python te permite hacer exactamente eso; no importa cuántos archivos de Excel quieras combinar, puedes hacerlo con relativa facilidad. Gracias a su gama de bibliotecas y recursos de terceros, puedes importar y utilizar las polifacéticas herramientas de Python para hacer lo que quieras.En esta guía, tendrás que instalar y utilizar las bibliotecas Pandas para importar datos a Python antes de consolidarlos.


Instalar las librerías Pandas en Python

Pandas es una biblioteca de terceros que puedes instalar en Python. Algunos IDEs ya tienen Pandas instalado en ellos.

Si utilizas una versión de IDE que no viene con Pandas preinstalado, puedes instalarlo directamente en Python.

Aquí tienes cómo instalar Pandas:

pip install pandas

Si utilizas Jupyter Notebook, puedes instalar Pandas directamente con el comando PIP. En la mayoría de los casos, si has instalado Jupyter con Anaconda, hay muchas posibilidades de que ya tengas Pandas disponible para su uso directo.

Si no puedes llamar a Pandas, puedes utilizar el comando anterior para instalarlos directamente.

Combinar archivos de Excel con Python

En primer lugar, tienes que crear una carpeta en tu ubicación preferida con todos los archivos de Excel. Una vez que la carpeta esté lista, puedes empezar a escribir el código para importar las librerías.

En este código utilizarás dos variables:

  1. Pandas: La biblioteca Pandas proporciona los marcos de datos para almacenar archivos de Excel
  2. OS: La biblioteca es beneficiosa para leer datos de la carpeta de tu máquina

Para importar estas bibliotecas, utiliza estos comandos:

Import Pandas as pd
Import OS
  • Importar: Sintaxis de Python utilizada para importar las bibliotecas en Python
  • Pandas: Nombre de la biblioteca
  • pd: Alias dado a la biblioteca
  • SISTEMA OPERATIVO: Una biblioteca para acceder a la carpeta del sistema

Una vez que hayas importado las bibliotecas, crea dos variables para almacenar la ruta de los archivos de entrada y de salida. La ruta del archivo de entrada es necesaria para acceder a la carpeta de los archivos. La ruta del archivo de salida es necesaria ya que el archivo combinado se exportará allí.


Si utilizas Python, asegúrate de cambiar la barra invertida por la barra inclinada ( a /)

input_file_path = "C:/Users/gaurav/OneDrive/Desktop/Excel files/"
output_file_path = "C:/Users/gaurav/OneDrive/Desktop/"

Añade el / al final también para completar los caminos.

Los archivos de la carpeta están disponibles en una lista. Crea una lista para almacenar todas las referencias de los archivos de la carpeta de entrada utilizando la función listdir de la función OS biblioteca.

Si no estás seguro de las funciones disponibles en una biblioteca, puedes utilizar la función dir con el nombre de la biblioteca. Por ejemplo, para comprobar la versión exacta de la función listdir, puedes utilizar el comando siguiente

dir(OS)

La salida consistirá en todas las funciones asociadas disponibles dentro de la biblioteca del SO. La función listdir es una de las muchas funciones disponibles en esta biblioteca.

Crea una nueva variable para almacenar los archivos de entrada de la carpeta.

excel_file_list = os.listdir(input_file_path)

Imprime esta variable para ver los nombres de los archivos almacenados dentro de la carpeta. Todos los archivos almacenados dentro de la carpeta se muestran una vez que utilizas la función de impresión.

print (excel_file_list)

A continuación, tienes que añadir un nuevo marco de datos para almacenar cada archivo de Excel. Imagina un marco de datos como un contenedor para almacenar datos. Este es el comando para crear un marco de datos.

df = pd.DataFrame()

  • df: Variable para almacenar el valor del DataFrame
  • pd: Alias para la biblioteca Pandas
  • Marco de datos: Sintaxis por defecto para añadir un marco de datos

La carpeta de entrada tiene tres .xlsx en este ejemplo. Los nombres de los archivos son:

File1_excel.xlsx
File2_excel.xlsx
File3_excel.xlsx


Para abrir cada archivo de esta carpeta, tienes que ejecutar un bucle. El bucle se ejecutará para cada uno de los archivos de la lista creada anteriormente.

Así es como puedes hacerlo:

for excel_files in excel_file_list:

A continuación, es necesario comprobar las extensiones de los archivos, ya que el código sólo abrirá archivos XLSX. Para comprobar estos archivos, puedes utilizar un Si declaración.

Utiliza el con para este fin, como se indica a continuación:

for excel_files in excel_file_list:
 
 if excel_files.endswith(".xlsx"):
  • archivos_excel: Lista con todos los valores de los archivos
  • endswith: Función para comprobar la extensión de los archivos
  • («.xlsx»): Este valor de la cadena puede cambiar, dependiendo de lo que quieras buscar

Ahora que has identificado los archivos de Excel, puedes crear un nuevo marco de datos para leer y almacenar los archivos individualmente.

for excel_files in excel_file_list:

 if excel_files.endswith(".xlsx"):
 
 df1 = pd.read_excel(input_file_path+excel_files)

  • df1: Nuevo marco de datos
  • pd: Biblioteca de pandas
  • leer_excel: Función para leer archivos de Excel dentro de la biblioteca Pandas
  • ruta_de_archivo_de_entrada: Ruta de la carpeta donde se almacenan los archivos
  • archivos_de_excel: Cualquier variable que se utilice en el bucle for

Para empezar a añadir los archivos, tienes que utilizar la función append función.

for excel_files in excel_file_list:

 if excel_files.endswith(".xlsx"):
 
 df1 = pd.read_excel(input_file_path+excel_files)
 df = df.append(df1)

Por último, ahora que el marco de datos consolidado está listo, puedes exportarlo a la ubicación de salida. En este caso, estás exportando el marco de datos a un archivo XLSX.

df.to_excel(output_file_path+"Consolidated_file.xlsx")
  • df Marco de datos para exportar
  • to_excel: Comando utilizado para exportar los datos
  • ruta_de_archivo_de_salida: Ruta definida para almacenar la salida
  • Archivo_consolidado.xlsx: Nombre del archivo consolidado

Ahora, veamos el código final:

#Pandas is used as a dataframe to handle Excel files
import pandas as pd
import os

# change the slash from “” to “/”, if you are using Windows devices

input_file_path = "C:/Users/gaurav/OneDrive/Desktop/Excel files/"
output_file_path = "C:/Users/gaurav/OneDrive/Desktop/"

#create a list to store all the file references of the input folder using the listdir function from the os library.
#To see the contents of a library (like the listdir function, you can use the dir function on the library name).
#Use dir(library_name) to list contents

excel_file_list = os.listdir(input_file_path)

#print all the files stored in the folder, after defining the list
excel_file_list


#Once each file opens, use the append function to start consolidating the data stored in multiple files

#create a new, blank dataframe, to handle the excel file imports
df = pd.DataFrame()

#Run a for loop to loop through each file in the list
for excel_files in excel_file_list:
 #check for .xlsx suffix files only
 if excel_files.endswith(".xlsx"):
 #create a new dataframe to read/open each Excel file from the list of files created above
 df1 = pd.read_excel(input_file_path+excel_files)
 #append each file into the original empty dataframe
 df = df.append(df1)

#transfer final output to an Excel (xlsx) file on the output path 
df.to_excel(output_file_path+"Consolidated_file.xlsx")

Uso de Python para combinar varios libros de Excel

Pandas de Python es una herramienta excelente tanto para principiantes como para usuarios avanzados. La biblioteca es muy utilizada por los desarrolladores que quieren dominar Python.

Incluso si eres un principiante, puedes beneficiarte enormemente aprendiendo los matices de Pandas y cómo se utiliza la biblioteca dentro de Python.