HERRAMIENTAS EXCEL

Cómo escribir un archivo Excel en Python

Actualizado 6 de marzo, 2024
Compartir:

Introducción

Los archivos Excel son esenciales para el análisis, la elaboración de informes y el almacenamiento de datos en diversos sectores. Los desarrolladores disponen de abundantes alternativas a la hora de producir archivos Excel mediante programación con Python, gracias a su amplio ecosistema de módulos de código abierto. Estas bibliotecas son compatibles con una amplia gama de casos de uso y preferencias, y ofrecen abstracciones de alto nivel, así como un control detallado de los documentos Excel.

Esto permite a los desarrolladores automatizar fácilmente los procesos relacionados con Excel, producir informes dinámicos y exportar datos. Veremos cómo IronXL es un fuerte sustituto de las librerías Python cuando se trata de crear archivos Excel en C#.

Examinaremos sus características, facilidad de uso y ventajas de rendimiento, a la vez que presentaremos ejemplos de código útiles para resaltar sus poderes. Además, el uso de Python para escribir archivos de Excel con varias bibliotecas de código abierto.

Cómo escribir un archivo Excel en Python

  1. Importe la biblioteca necesaria.
  2. Prepare sus datos o proporcione algunos.
  3. Crea un objeto llamado Workbook o Data Frame.
  4. Pon tus datos dentro del objeto.
  5. Utilizando la técnica adecuada, guarde el objeto en un archivo Excel.
  6. Realice cualquier otro formateo o personalización a su discreción.

Pandas

Con fama de fácil de usar y versátil, Pandas es un robusto paquete de manipulación de datos de Python. Aunque Pandas se centra principalmente en DataFrames, también tiene funciones de creación de archivos Excel.

Los desarrolladores pueden exportar fácilmente los DataFrames a formato Excel utilizando la función to_excel() API. Incluso pueden exportarse a hojas separadas utilizando los DataFrames.

La ruta del archivo del objeto ExcelWriter es donde se guarda la salida. Los datos tabulares de Python pueden convertirse fácilmente en archivos Excel con las opciones de Pandas para el formato de datos, visibilidad de índices y nombres de hojas.

Cómo escribir un archivo Excel en Python: Figura 1

xlwt

Esta biblioteca permite escribir datos e información de formato en archivos Excel que tengan el formato obsoleto.xls. Xlwt sigue siendo una solución viable en situaciones en las que se requiere compatibilidad con versiones anteriores de Excel o sistemas heredados, aunque no se desarrolle activamente.

Los desarrolladores pueden utilizar las características de xlwt para escribir datos en celdas, añadir hojas de trabajo y construir objetos Workbook. Xlwt ofrece una funcionalidad rudimentaria para crear archivos Excel en Python, aunque con limitaciones en comparación con herramientas más recientes.

Cómo escribir un archivo Excel en Python: Figura 2

Tablib

Esta flexible biblioteca puede manejar datos tabulares en muchos formatos diferentes, incluido Excel. Tablib dispone de funciones para exportar datos a formato Excel, aunque se centra principalmente en el tratamiento y la serialización de datos.

Los métodos proporcionados por Tablib permiten a los desarrolladores construir fácilmente objetos Dataset, añadir datos y exportarlos a archivos Excel. La versatilidad y facilidad de uso de Tablib lo hacen apropiado para trabajos en Python que impliquen la creación de archivos Excel sencillos.

Cómo escribir un archivo Excel en Python: Figura 3

ezodf

Hojas de cálculo y otros formatos OpenDocument (ODF) se puede trabajar con los archivos ezodf biblioteca. Aunque no está diseñado pensando en archivos Excel, ezodf ofrece a los usuarios de Python la posibilidad de crear y trabajar con documentos de hojas de cálculo.

Los desarrolladores pueden añadir hojas de cálculo, escribir datos en las celdas de la hoja Excel mediante programación y producir ODS (Hoja de cálculo OpenDocument) utilizando las técnicas de ezodf. Aunque no es tan popular, ezodf proporciona una opción para crear archivos Excel mientras se trabaja con documentos de hojas de cálculo en Python.

Cómo escribir un archivo Excel en Python: Figura 4

pyxlsb

Un paquete Python llamado pyxlsb se utiliza para leer y escribir libros binarios de Excel (.xlsb) archivos. Ofrece funciones para añadir hojas de trabajo, escribir datos en celdas en formato binario de Excel y generar objetos de libro de trabajo.

Aunque la compatibilidad con archivos .xlsb no está tan extendida como con .xlsx o .xls, pyxlsb proporciona funcionalidad Python para manipular archivos binarios de Excel, satisfaciendo ciertos casos de uso que necesitan que el formato binario de Excel sea compatible.

Cómo escribir un archivo Excel en Python: Figura 5

IronXL

IronXL es una biblioteca de C# repleta de funciones para manipular archivos Excel. IronXL, creado por Iron Software, ofrece una amplia gama de funciones para producir, formatear y rellenar documentos Excel de forma dinámica. IronXL ofrece a los desarrolladores una experiencia fluida para las actividades relacionadas con Excel al agilizar las interacciones de Excel en C# con su API fácil de usar y su completa documentación.

Características de IronXL

  • Amplio Soporte para Excel: IronXL puede abrir y trabajar con una amplia gama de archivos de Excel en muchos formatos de Excel, incluyendo csv, archivo, archivos xls y xlsx. Gracias a las potentes funciones de análisis sintáctico de IronXL, los desarrolladores pueden extraer datos de un archivo Excel existente de forma eficaz, utilizando tanto archivos Excel antiguos como modernos.
  • Alta velocidad: IronXL da prioridad a la optimización de la velocidad. Se utilizan algoritmos eficaces y técnicas de gestión de memoria para proporcionar interacciones Excel fiables y rápidas. Dado que IronXL ofrece tasas de procesamiento optimizadas y una menor sobrecarga de memoria, los desarrolladores pueden manejar archivos Excel de gran tamaño con facilidad.
  • API sencilla y fácil de usar: IronXL es adecuado para desarrolladores con distintos niveles de experiencia gracias a su API sencilla y fácil de usar. Al ofrecer métodos sencillos para leer archivos de Excel, acceder a libros de Excel y obtener datos de las celdas, IronXL reduce la curva de aprendizaje de los desarrolladores de C# y agiliza el proceso de creación y lectura de un archivo existente.
  • Control detallado: A diferencia de otras bibliotecas de nivel superior, IronXL ofrece a los desarrolladores un control detallado sobre los documentos de Excel, lo que les permite interactuar con una hoja de cálculo de Excel hasta el nivel de celda. Como los desarrolladores tienen acceso a celdas, filas, columnas y hojas de cálculo concretas, pueden extraer y modificar datos exactamente a la medida de sus necesidades.
  • Compatibilidad multiplataforma: IronXL funciona con una amplia gama de sistemas operativos, incluyendo Windows, Linux y macOS, por lo que es adecuado para el desarrollo C# multiplataforma. Tanto si desarrollan aplicaciones de escritorio, web o móviles, los desarrolladores pueden confiar en IronXL para proporcionar interacciones de Excel coherentes en varios contextos.

    Para obtener más información sobre la documentación de IronXL, consulte aquí.

Instalación de IronXL

Utilice estas instrucciones y la línea de comandos para instalar IronXL.

En Visual Studio, vaya a Herramientas -> Gestión de paquetes NuGet -> Interfaz del gestor de paquetes.

Introduzca el siguiente código en la pestaña de la consola del gestor de paquetes:

 pip install IronXL

El archivo ya puede utilizarse tras ser descargado e instalado en el proyecto actual.

Escribiendo Datos de Excel Usando IronXL en C#

Ahora vamos a profundizar en un ejemplo de código del mundo real que muestra cómo utilizar IronXL en C# para escribir datos en un documento de Excel. Demostraremos cómo abrir un nuevo libro de Excel, rellenar una hoja de cálculo y, a continuación, guardar los datos en un archivo:

using IronXL;
class Program
{
    static void Main(string [] args)
    {
        //  Crear un nuevo objeto WorkBook
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        //  Añadir una nueva WorkSheet al libro de trabajo
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
        //  Definir datos de muestra
        string [,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };
        //  Rellenar la hoja de cálculo con datos
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col,data [row, col]);
            }
        }
        //  Guardar el libro de trabajo en un archivo xlsx
        workBook.SaveAs("Demo.xlsx");
        //  Cerrar el libro
        workBook.Close();
    }
}
using IronXL;
class Program
{
    static void Main(string [] args)
    {
        //  Crear un nuevo objeto WorkBook
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        //  Añadir una nueva WorkSheet al libro de trabajo
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
        //  Definir datos de muestra
        string [,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };
        //  Rellenar la hoja de cálculo con datos
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col,data [row, col]);
            }
        }
        //  Guardar el libro de trabajo en un archivo xlsx
        workBook.SaveAs("Demo.xlsx");
        //  Cerrar el libro
        workBook.Close();
    }
}
Imports IronXL
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		'  Crear un nuevo objeto WorkBook
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		'  Añadir una nueva WorkSheet al libro de trabajo
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
		'  Definir datos de muestra
		Dim data(,) As String = {
			{ "Name", "Age", "City" },
			{ "John ", "25", "New York" },
			{ "Smith", "30", "Los Angeles" },
			{ "Johnson", "35", "Chicago" }
		}
		'  Rellenar la hoja de cálculo con datos
		For row As Integer = 0 To data.GetLength(0) - 1
			For col As Integer = 0 To data.GetLength(1) - 1
				workSheet.SetCellValue(row, col,data (row, col))
			Next col
		Next row
		'  Guardar el libro de trabajo en un archivo xlsx
		workBook.SaveAs("Demo.xlsx")
		'  Cerrar el libro
		workBook.Close()
	End Sub
End Class
VB   C#

Uso de la función Crear de IronXL() creamos primero un nuevo objeto WorkBook en este ejemplo de código, indicando el tipo de archivo Excel requerido (en este caso, .xlsx). A continuación, creamos una nueva hoja de cálculo en la hoja de trabajo y describimos algunos datos de ejemplo en un array de dos dimensiones.

A continuación, utilizamos bucles anidados para acceder y establecer los valores de varias celdas de la hoja de cálculo para rellenarla con los datos de la muestra.

Por último, utilizamos la función SaveAs() para guardar el libro de trabajo en el nombre de archivo de destino "SampleData.xlsx" y, a continuación, cierre el libro de trabajo para liberar recursos del sistema. Asimismo, podemos crear varias hojas en el archivo de destino.

A continuación se muestra el archivo Excel generado. Para saber más sobre la escritura de archivos Excel consulte aquí.

Cómo escribir un archivo Excel en Python: Figura 6

Conclusión

Python ofrece una amplia colección de bibliotecas gratuitas y de código abierto para escribir archivos Excel mediante programación, que satisfacen una gran variedad de necesidades y gustos. Estas bibliotecas le permiten ejecutar sus tareas de escritura en Excel con rapidez y eficacia, independientemente de si trabaja con datos tabulares, elabora informes o exporta datos a Excel.

IronXL es un potente sustituto de Microsoft Excel para desarrolladores C#, que ofrece compatibilidad completa con Excel, una velocidad excelente y una interfaz fluida con el marco .NET. IronXL simplifica la creación de Excel en C# gracias a su API fácil de usar y al control detallado de los documentos de Excel.

Esto facilita a los desarrolladores la creación de informes dinámicos, la exportación de datos y la automatización de operaciones relacionadas con Excel. Los desarrolladores de C# pueden confiar en IronXL para optimizar las operaciones vinculadas a Excel y habilitar toda la potencia de Excel en sus aplicaciones de C#, independientemente de si están produciendo archivos de Excel para aplicaciones de escritorio, en línea o móviles.

IronXL está disponible en el lanzamiento por $599. Los usuarios también pueden optar por pagar una cuota de socio de un año para recibir actualizaciones y ayuda sobre el producto. IronXL ofrece protección para la redistribución sin restricciones por un recargo. Visita esta página página para saber más sobre el coste aproximado. Visite aquí para obtener más información sobre IronSoftware.

SIGUIENTE >
Cómo utilizar Python para leer archivos Excel

¿Listo para empezar? Versión: 2024.5 recién publicada

Comenzar prueba gratuita
Ver licencias >