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 bibliotecaimportopenpyxl#instanciación de un nuevo librolibro = openpyxl.Workbook()#posicionamientoen la hoja activahoja = libro.active#la hoja creada por defecto se llama Sheet, cambio de su nombrehoja.title ="Inicial"#creación de una nueva hoja al final indicando su nombrehoja= libro.create_sheet(title="Hoja_al_final")#creación de una nueva hoja al principio, no es necesato llamar title al parámetrohoja= libro.create_sheet("Hoja_al_principio", 0)#creación de una nueva hoja en la posición 1hoja=libro.create_sheet(index=1, title="Hoja en posición1")#guardado de los cambión y creación del librolibro.save("hojas.xlsx")
Celdas
En los siguientes ejemplos veremos como trabajar con las celdas de una hoja.
importopenpyxl libro = openpyxl.Workbook() hoja = libro.active#Asignación de contenido de la celda mediante coordenada letra-númerohoja["A1"] = 1000 celda_a1 = hoja["A1"]#Asignación mediante argumentos fila, columna y valueb1 = hoja.cell(row=1, column=2, value=2000)#Asignación mediante fila y columna, y actualizando luego la propiedad valuec1 = 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 tuplaproductos = [ (1,'Pendrive', 1500.00), (2,'Auricular', 950.50), (3,'Teclado', 2000.00), (4,'Mouse', 856.30) ]importopenpyxl libro = openpyxl.Workbook() hoja = libro.active hoja.title ="Articulos"# Inserción de tupla con encabezados de los camposhoja.append(('ID','Artículo','Precio'))forproductoinproductos:# producto es una tupla con los valores de un productohoja.append(producto) libro.save("colecciones.xlsx")
Este y otros contenidos los podés aprender en el Curso de Python
