Binary Coffee

Manejando Hojas de C√°lculo con Python

python
En este artículo aprenderemos a manejar hojas de cálculo con Python y su biblioteca [openpyxl](https://openpyxl.readthedocs.io/en/stable/tutorial.html#create-a-workbook). Puedes leer [Cómo instalar Python y crear entornos virtuales](https://binary-coffee.dev/post/como-instalar-python-y-crear-entornos-virtuales) Para poder ejecutar los ejemplos necesitamos instalar la biblioteca antes mencionada: ``` pip install openpyxl ``` # Generando nuestra primera hoja de cálculo Crear nuestro primer documento es sencillo solo debemos importar la clase `Workbook` y una vez creado lo guardamos: ``` from openpyxl import Workbook wb = Workbook() wb.save('Contributions.xlsx') ``` Si vas a la carpeta del proyecto te encontrarás con que el documento no está vacío, contiene una hoja, y esto sucede porque no se puede crear vacío. Para saber cual es esta hoja, que en este caso está activa usamos: ``` ws = wb.active # Sheet ``` ## Escribiendo contenido Existen dos formas fundamentales para trabajar con las celdas, los dos ejemplos a continuación generarían el mismo resultado: ``` # Ejemplo 1 ws['A1'] = 'Autores' # Ejemplo 2 ws.cell(row=1, column=1, value='Autores') ``` ## Procesando un documento existente Para cargar un documento simplemente debes usar `load_workbook`, y una manera de acceder a los datos es usando el formato `ws['A1']`, aunque existen varias que puedes revisar en la documentación oficial. ``` wb = load_workbook('Contributions.xlsx') ``` ## Escribiendo un script práctico El script generará un reporte de la cantidad de contribuciones a BinaryCoffee por cada usuario. ``` from openpyxl import Workbook wb = Workbook() # Creamos la hoja donde vamos a escribir nuestros datos ws = wb.create_sheet("Contributions") # Datos de ejemplo authors = [['raulcr98', 3], ['guille', 4], ['rafa', 3], ['Khozmos', 3]] # Escribimos los enunciados ws['A1'] = 'User' ws['B1'] = 'Posts' for i in range(len(authors)): ws['A{}'.format(i + 2)] = authors[i][0] ws['B{}'.format(i + 2)] = authors[i][1] # Guardamos wb.save('Contributions.xlsx') ``` ## Conclusiones Espero que el artículo haya sido de tu agrado y que cualquier duda o comentario me lo hagas saber en los comentarios. * Puedes ver la documentación completa en [openpyxl](https://openpyxl.readthedocs.io/en/stable/tutorial.html#create-a-workbook). **Recomendado:** > Aprende a [crear códigos qr](https://binary-coffee.dev/post/generando-codigos-qr-con-python). > Keep Calm and Drink Binary Coffee
Opiniones