Generación de documentos Excel con Python y Openpyxl
Openpyxl es una biblioteca de Python que permite leer y escribir doscumentos Excel 2010 xlsx/xlsm/xltx/xltm.
En este artículo veremos como crear e ingresar datos en un hoja de cálculo.
Para instalar la biblioteca en la consola utilizaremos el siguiente comando:
pip install openpyxl
Hojas
En nuestro primer ejemplo veremos como trabajar con las hojas.
#importación de la biblioteca
import
openpyxl#instanciación de un nuevo libro
libro = openpyxl.Workbook()#posicionamientoen la hoja activa
hoja = libro.active#la hoja creada por defecto se llama Sheet, cambio de su nombre
hoja.title ="Inicial"
#creación de una nueva hoja al final indicando su nombre
hoja= libro.create_sheet(title="Hoja_al_final"
)#creación de una nueva hoja al principio, no es necesato llamar title al parámetro
hoja= libro.create_sheet("Hoja_al_principio"
, 0)#creación de una nueva hoja en la posición 1
hoja=libro.create_sheet(index=1, title="Hoja en posición1"
)#guardado de los cambión y creación del libro
libro.save("hojas.xlsx"
)
Celdas
En los siguientes ejemplos veremos como trabajar con las celdas de una hoja.
import
openpyxl libro = openpyxl.Workbook() hoja = libro.active#Asignación de contenido de la celda mediante coordenada letra-número
hoja["A1"
] = 1000 celda_a1 = hoja["A1"
]#Asignación mediante argumentos fila, columna y value
b1 = hoja.cell(row=1, column=2, value=2000)#Asignación mediante fila y columna, y actualizando luego la propiedad value
c1 = hoja.cell(row=1, column=3) c1.value = 3000"celdas.xlsx"
)
Colecciones
En nuestro siguiente ejemplo veremos como insertar una lista con dispositivos para computación.
#Lista o tupla
productos = [ (1,'Pendrive'
, 1500.00), (2,'Auricular'
, 950.50), (3,'Teclado'
, 2000.00), (4,'Mouse'
, 856.30) ]import
openpyxl libro = openpyxl.Workbook() hoja = libro.active hoja.title ="Articulos"
# Inserción de tupla con encabezados de los campos
hoja.append(('ID'
,'Artículo'
,'Precio'
))for
productoin
productos:# producto es una tupla con los valores de un producto
hoja.append(producto) libro.save("colecciones.xlsx"
)
Este y otros contenidos los podés aprender en el Curso de Python