Leer Excel con Python: guía completa de pandas y openpyxl

1. Introducción

Python es, entre muchos lenguajes de programación, especialmente popular y se usa ampliamente en los campos de análisis de datos y automatización. En particular, al trabajar con archivos Excel, se pueden manipular los datos de manera eficiente usando las bibliotecas de Python. En este artículo, se explica detalladamente desde los conceptos básicos cómo leer archivos Excel con Python.

2. Preparación para trabajar con archivos Excel en Python

Para trabajar con Excel en Python, se necesita una biblioteca especializada. En esta sección se explica cómo instalar las bibliotecas necesarias y preparar el entorno de desarrollo.

Entorno de desarrollo de Python

Primero, asegúrese de que Python esté instalado. Ejecute el siguiente comando en la terminal o en el símbolo del sistema para verificar la versión de Python.

python --version

Se recomienda una versión 3.7 o superior.

Instalación de las bibliotecas necesarias

Las bibliotecas más comunes para manipular Excel son las siguientes dos.

  1. openpyxl: permite leer y escribir archivos Excel (.xlsx).
  2. pandas: permite manipular datos en formato DataFrame y es útil para análisis de datos.

Comando de instalación:

pip install openpyxl pandas

Una vez completada la instalación, podrá manipular Excel en Python usando estas bibliotecas.

侍エンジニア塾

3. Lectura de archivos Excel con openpyxl

openpyxl es una biblioteca para manipular archivos Excel directamente. En esta sección se explican los métodos básicos.

Carga del Workbook

Primero, veamos cómo abrir un archivo Excel.

from openpyxl import load_workbook

# Cargar archivo Excel
workbook = load_workbook("example.xlsx")

# Verificar nombres de hoja
print(workbook.sheetnames)

En el código anterior se abre el archivo llamado example.xlsx y se obtienen los nombres de las hojas que contiene.

Selección de hoja y obtención del valor de la celda

Método para seleccionar una hoja específica y leer sus datos.

# Seleccionar hoja
sheet = workbook["Sheet1"]

# Obtener el valor de una celda específica
value = sheet["A1"].value
print(f"Valor de la celda A1: {value}")

La referencia de la celda se indica como «columna+fila» (p. ej., A1).

4. Lectura de archivos Excel con pandas

pandas es una biblioteca especializada en análisis de datos que permite convertir archivos Excel fácilmente al formato DataFrame.

Convertir archivos Excel a DataFrame

Se presenta el método para leer archivos Excel usando la función read_excel de pandas.

import pandas as pd

# Leer archivo Excel
df = pd.read_excel("example.xlsx")

# Mostrar las primeras 5 filas del DataFrame
print(df.head())

Al ejecutar este código, los datos de Excel se mostrarán en formato tabular.

Leer hojas y rangos específicos

Al especificar hojas o rangos concretos, se puede manipular los datos de manera eficiente.

# Cargar una hoja específica
df = pd.read_excel("example.xlsx", sheet_name="Sheet1")

# Obtener solo columnas específicas
df = pd.read_excel("example.xlsx", usecols="A:C")
print(df)

5. Diferenciación de uso de openpyxl y pandas

openpyxl y pandas se utilizan para propósitos diferentes. En esta sección, comparamos sus características y proponemos una diferenciación adecuada.

bibliotecacaracterísticasejemplos de aplicación
openpyxlManipulación detallada de archivos ExcelEdición y formateo a nivel de celda
pandasEspecializado en análisis y manipulación de datosAgregación y filtrado de datos

Ejemplos de diferenciación

  • openpyxl: Cuando se edita manteniendo el formato de Excel.
  • pandas: Cuando se procesa una gran cantidad de datos de manera eficiente.

6. Ejemplo práctico: Procesamiento y guardado de datos de Excel

En esta sección, se muestra cómo procesar y guardar datos de Excel.

Procesamiento de datos

El siguiente código es un ejemplo de filtrado de datos y guardado en un nuevo archivo Excel.

import pandas as pd

# Leer datos de Excel
df = pd.read_excel("example.xlsx")

# Filtrar datos con una condición específica
filtered_df = df[df["Ventas"] > 1000]

# Guardar los datos procesados en un nuevo archivo
filtered_df.to_excel("filtered.xlsx", index=False)
print("Se guardó en un nuevo archivo")

En este código, solo se extraen los datos con ventas superiores a 1000.

7. Resumen

En este artículo, explicamos detalladamente cómo leer archivos Excel usando Python. Deberías haber comprendido las operaciones básicas de openpyxl y pandas, y poder elegir su uso según cada propósito. Prueba el código en la práctica y familiarízate con la manipulación de Excel en Python.