Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Los archivos de Excel son omnipresentes en las tareas de análisis y manipulación de datos, ya que ofrecen una forma cómoda de almacenar y organizar datos tabulares. En Python, existen múltiples bibliotecas disponibles para**Lectura de archivos Excelcada uno con sus propias funciones y capacidades. Dos opciones destacadas son Pandas y IronXL, que ofrecen métodos eficaces para leer archivos Excel en Python.
En este artículo, compararemos la funcionalidad y el rendimiento dePandas yIronXL para leer archivos Excel en Python.
Pandas es una potente biblioteca de análisis y manipulación de datos de código abierto para Python. Introduce la estructura de datos DataFrame, que es una estructura de datos bidimensional etiquetada con columnas de tipos potencialmente diferentes. Pandas ofrece una amplia gama de funcionalidades para la manipulación de datos, incluyendo la lectura y escritura de datos de diversas fuentes, como archivos CSV, bases de datos SQL y archivos Excel.
Algunas características clave de Pandas son:
Pandas introduce la estructura de datos DataFrame, que es esencialmente una estructura de datos bidimensional etiquetada con columnas de tipos potencialmente diferentes. Es similar a una hoja de cálculo o una tabla SQL, lo que facilita la realización de operaciones como filtrado, agrupación y agregación en datos tabulares.
Pandas ofrece una amplia gama de funciones para la manipulación de datos, incluyendo la fusión, remodelación, corte, indexación y pivoteo de datos. Estas operaciones permiten a los usuarios limpiar, transformar y preparar los datos para su análisis o visualización de forma eficaz.
Pandas proporciona un soporte robusto para trabajar con datos de series temporales, incluyendo herramientas para la indexación de fecha/hora y remuestreo, y métodos convenientes para manejar los datos que faltan y la conversión de zonas horarias.
Pandas puede colaborar sin problemas con varias bibliotecas de Python empleadas con frecuencia en el análisis de datos y los cálculos científicos, como NumPy, Matplotlib y Scikit-learn. Esta interoperabilidad permite a los usuarios aprovechar los puntos fuertes de distintas bibliotecas en un único flujo de trabajo de análisis.
En general, Pandas es una potente herramienta para la manipulación y el análisis de datos en Python, y se utiliza ampliamente en diversos ámbitos, como las finanzas, la economía, la biología y las ciencias sociales.
IronXL es una biblioteca de Python diseñada específicamente para trabajar con archivos Excel. Proporciona una API intuitiva para leer, escribir y manipular documentos Excel en Python. IronXL pretende simplificar las operaciones con archivos Excel ofreciendo una interfaz sencilla y eliminando la necesidad de dependencias externas, como Microsoft Excel o Excel Interop.
A continuación se enumeran algunas de las principales características de IronXL:
IronXL ofrece una API de documentos Excel Python 3+ intuitiva y fácil de usar, que permite a los desarrolladores leer, editar y crear archivos de hojas de cálculo Excel sin problemas.
Diseñado para Python 3+ y compatible con Windows, Mac, Linux y plataformas en la nube, IronXL garantiza la flexibilidad en los entornos de implantación.
Los desarrolladores pueden trabajar con archivos Excel en Python sin instalar Microsoft Office ni tener que lidiar con Excel Interop, lo que simplifica el proceso de integración y minimiza las dependencias.
Admite Python 3.7+ en varios sistemas operativos, incluidos Microsoft Windows, macOS, Linux, Docker, Azure y AWS. Compatible con IDEs populares como JetBrains PyCharm y otros IDEs de Python.
Cree, cargue, guarde y exporte hojas de cálculo en varios formatos, como XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, binario y matriz de bytes.
Edite metadatos, establezca permisos y contraseñas, cree y elimine hojas de cálculo, manipule el diseño de las hojas, maneje imágenes y mucho más.
Realice diversas operaciones en rangos de celdas, como ordenar, recortar, borrar, copiar, buscar y reemplazar valores, establecer hipervínculos y combinar y separar celdas.
Personalice los estilos de las celdas, incluidos la fuente, el tamaño, el borde, la alineación y el patrón de fondo, y aplique formato condicional.
Utilice funciones matemáticas como promedio, suma, mínimo y máximo, y establezca formatos de datos de celda como texto, número, fórmula, fecha, divisa, científico, hora, booleano y formatos personalizados.
En primer lugar, Python debe estar instalado en tu máquina. Instala la última versión de Python 3.x desde la página oficial deSitio web de Python. Al instalar Python, asegúrese de elegir la opción de añadir Python al PATH del sistema, permitiendo el acceso desde la línea de comandos.
Para demostrar la funcionalidad tanto de Pandas como de IronXL en la lectura de archivos Excel, vamos a crear un proyecto Python utilizando PyCharm, un popular entorno de desarrollo integrado(IDE) para Python.
Abra PyCharm y cree un nuevo proyecto Python.
Configure el proyecto como sigue:
Dale un nombre al proyecto. En este caso "pythonReadExcel"
Elija la ubicación deseada para el proyecto
Elija el tipo de intérprete: Proyecto venv
Seleccione la versión de Python
Para instalar Pandas en tu Proyecto, puedes seguir estos pasos:
Abrir Símbolo del sistema o Terminal: En PyCharm, desde Ver->Herramienta Ventanas->Terminal.
pip install pandas
Este comando instala la biblioteca Pandas y sus dependencias desde el índice de paquetes de Python(PyPI).
![Alternativas a Pandas Read Excel(Sin usar Interop) IronXL for Python: Figura 4 - Salida de la consola habiendo instalado Pandas](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-4.webp)
pip install openpyxl
Para instalar IronXL en un proyecto Python, sigue estos pasos:
Asegúrese de los prerrequisitos: Antes de instalar IronXL, asegúrese de que tiene los requisitos previos necesarios instalados en su sistema:
.NET 6.0 SDK: IronXL se basa en la biblioteca .NET de IronXL, concretamente en .NET 6.0, como tecnología subyacente. Asegúrese de que tiene el SDK .NET 6.0 instalado en su máquina. Puede descargarlo de la página oficialSitio web .NET.
Abra el símbolo del sistema o el terminal: Haga lo mismo que antes.
pip install IronXL
Este comando recopilará, descargará e instalará la librería IronXL y sus dependencias desde el Índice de Paquetes de Python(PyPI).
Como ya lo hemos configurado todo, pasaremos a leer ficheros Excel utilizando ambas librerías. El fichero Excel de demostración que vamos a leer tiene los siguientes valores con fila de cabecera como Nombre, Marcas y Res:
Importa la librería Pandas y utiliza read_excel() Función para leer datos de columnas del fichero Excel.
import pandas as pd
# Read the Excel file
df = pd.read_excel("file.xlsx")
Cuando se utiliza read_excel de Pandas(), puede especificar varias opciones de visualización según sus necesidades:
Encabezado: Especifica qué fila del archivo Excel se utilizará como nombres de columna. Puede definirlo como Ninguno para indicar que no hay ninguna fila de cabecera, o puede proporcionar un número entero que indique el número de fila. Si se omiten, las cabeceras se establecen en bool por defecto true, y las primeras posiciones de fila se muestran como etiquetas de fila de cabecera.
Índice_columna: Especifica qué columna o columnas utilizar como índice del DataFrame. Puede pasar un único nombre de columna o índice de columna. O puede pasar una lista de nombres de columnas o índices de columnas para crear un MultiIndex.
nombre_hoja: Especifica la hoja(s) para leer del archivo Excel. Puede proporcionar el nombre de la hoja como una cadena, o un número entero que indique las posiciones de la hoja con índice cero.
Usar columnas: Especifica qué columnas leer del archivo Excel. Puede pasar un único nombre de columna o un índice de columna. También puede pasar una lista de nombres de columnas o índices de columnas para leer columnas específicas.
dtype: Especifica los tipos de datos de las columnas. Puede pasar un diccionario en el que las claves son nombres de columnas o índices de columnas y los valores son los tipos de datos deseados.
Convertidores: Especifica las funciones que se aplicarán a las columnas para el análisis sintáctico personalizado. Puede pasar un diccionario donde las claves son nombres de columnas o índices de columnas y los valores son funciones.
valores_na: Especifica cadenas adicionales a reconocer como NaN.(No es un número) valores. Puede pasar una lista de cadenas para que sean tratadas como NaN.
Parse_dates: Especifica qué columnas analizar como fechas. Puede pasar un único nombre de columna o un índice de columna. También puede pasar una lista de nombres de columnas o índices para analizarlos como fechas.
analizador_fechas: Especifica una función a utilizar para analizar fechas. Puede pasar una función que acepte una cadena y devuelva un objeto datetime.
salto de filas: Especifica el número de filas a saltar al principio del fichero Excel.
Estas opciones proporcionan flexibilidad a la hora de leer ficheros Excel con Pandas, permitiéndole personalizar el proceso de lectura de acuerdo a sus requerimientos específicos.
Muestra el contenido del DataFrame.
print(df)
Este es el resultado del código anterior:
Paso 1: Importar la librería IronXL y utilizar el comando WorkBook.Load() para cargar el archivo Excel. En el parámetro del método Cargar, puede pasar las URL válidas del archivo, el objeto de ruta del archivo local o el nombre del archivo si se encuentra en el mismo directorio que el script.
from ironxl import WorkBook
# Load the Excel file like object
workbook = WorkBook.Load("file.xlsx")
Paso 2: Con IronXL, puede solicitar varias hojas y también imprimir etiquetas de columna. Acceda a las hojas de cálculo y a las celdas para leer los datos almacenados en las columnas. Las celdas pueden ser de cualquier tipo de datos, como columnas numéricas o columnas de cadena. Los valores de las celdas se pueden convertir a int analizando las columnas de cadena a valores numéricos utilizando la propiedad IntValue y viceversa.
# Access the first worksheet
# Loads the first sheet from list of int default worksheets
worksheet = workbook.DefaultWorkSheet
# Select a cell and return the converted value
cell_value = worksheet ["A2"].IntValue
print(cell_value)
# Read from the entire worksheet elegantly.
for cell in worksheet:
print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
Aquí está la salida del código anterior con un formato de visualización adecuado mostrando la versatilidad de IronXL:
Para obtener más información sobre cómo trabajar con archivos Excel, visite este enlaceejemplos de código página.
En conclusión, tanto Pandas comoIronXL ofrecen métodos eficaces para leer archivos Excel en Python. Sin embargo, IronXL proporciona varias ventajas sobre Pandas, particularmente en términos de facilidad de uso, rendimiento y capacidades especializadas de manejo de Excel. La intuitiva API de IronXL y sus completas funciones lo convierten en una opción superior para proyectos que requieran extensas tareas de manipulación de Excel.
Además, IronXL elimina la necesidad de dependencias externas como Microsoft Excel o Excel Interop, lo que simplifica el proceso de desarrollo y mejora la portabilidad entre distintas plataformas. Por lo tanto, para los desarrolladores de Python que buscan una solución robusta y eficiente para las operaciones con archivos Excel, IronXL emerge como la opción preferida, ya que ofrece mejores facilidades y funcionalidades mejoradas en comparación con Pandas. Para obtener información más detallada sobre IronXL, visite este enlacedocumentación página.
IronXL proporciona un**Prueba gratuita para probar su funcionalidad y viabilidad para tus proyectos Python. Esta versión de prueba permite a los desarrolladores explorar toda la gama de funciones y capacidades que ofrece IronXL sin ningún compromiso financiero por adelantado. Si está considerando IronXL para tareas de importación/exportación de datos, generación de informes o análisis de datos, la prueba gratuita le ofrece la oportunidad de evaluar su rendimiento y adecuación a sus requisitos específicos.
Para obtener más información sobre las opciones de licencia y descargar la versión de prueba gratuita, visite la página web de IronXLpágina de licencias. Aquí encontrará información detallada sobre las condiciones de licencia, incluidas las opciones de uso comercial y asistencia. Para empezar a utilizar IronXL y experimentar sus ventajas de primera mano, descargue la biblioteca desdeaquí.
9 productos API .NET para sus documentos de oficina