Python para usuarios de hojas de cálculo

Excel es una de las hojas de cálculo populares para la gestión de datos. Si bien es tedioso escribir y actualizar los datos en una hoja de Excel larga, Python ayuda a minimizar esta tarea y facilita la creación, lectura y escritura de la hoja de Excel. Esto se puede hacer con varias bibliotecas de Python,3 de las cuales se analizarán en este artículo.

Uso de la biblioteca Openxyl

Openpyxl es una biblioteca de Python para leer y escribir archivos de Excel (con extensión xlsx/xlsm/xltx/xltm). El módulo openpyxl permite que el programa Python lea y modifique archivos de Excel.

Instalación

Ejecute el siguiente comando en la terminal para instalar este módulo.

pip instalar openpyxl

Crear o escribir un libro de trabajo

Escribimos el código en nuestro editor de código y guardamos el código.

Python3

# import modules
from openpyxl import Workbook
import datetime
  
  
wb = Workbook()
  
ws = wb.active
  
# assign sheet
ws['A1'] = 75
  
# add data
ws.append([1, 2, 3])
ws.append([4, 5, 6])
ws.append([8, 10, 12])
  
ws['A2'] = datetime.datetime.now()
  
# save spreadsheet
wb.save("test.xlsx")

Producción:

Explicación:

Primero importamos la biblioteca y la hoja de cálculo recibe una instancia de libro de trabajo. Luego, asignamos valores aleatorios correspondientes a las columnas A. Aquí hemos agregado en A1 y A2. También podemos anular los valores originales ya que 1 en A1 y 4 en A2 se han sobrescrito como fechas y horas respectivas. Por último, guardamos la hoja, donde se guarda como “prueba”.

leyendo un libro de trabajo

También podemos leer un libro de trabajo del siguiente programa

Python3

# import modules
from openpyxl import load_workbook
from openpyxl import Workbook
  
# load spreadsheet
wb = load_workbook(filename = 'test.xlsx')

Esto abre el mismo archivo que habíamos abierto antes.

Insertar imágenes en el libro de trabajo

También podemos insertar algunas imágenes en nuestra hoja de Excel como se muestra en el siguiente código

Python3

# import modules
from openpyxl import Workbook
from openpyxl import Workbook
from openpyxl.drawing.image import Image
Spreadsheet = Workbook()
  
worksheet = Spreadsheet.active
wb = Workbook()
ws = wb.active
  
# assign title
ws['A1'] = 'Two logos demonstrated'
  
# create an image
img = Image('gfg.png')
img2=Image('gfg2.png')
  
# add image
ws.add_image(img, 'A1')
ws.add_image(img2, 'H1')
wb.save('logo.xlsx')

Producción:

Explicación:

Tenemos que descargar la biblioteca de Pillows para la dependencia e importar las subbibliotecas como se muestra. Ahora descargamos dos imágenes que nos gustan y les damos la fila designada, ¡y tenemos nuestra imagen insertada!

Uso de la biblioteca XLWT

Esta es una biblioteca para que los desarrolladores la utilicen para generar archivos de hoja de cálculo compatibles con las versiones de Microsoft Excel 95 a 2003. El paquete en sí es Python puro sin dependencias de módulos o paquetes fuera de la distribución estándar de Python.

Podemos poner los valores en negrita, en color, en cursiva, etc. Además, se puede controlar el tamaño de la fuente. 

Instalación

Instale el paquete python con el siguiente comando

pip3 instalar xlwt

       O

pip instalar xlwt

Creación de un libro de trabajo

A continuación se muestra un código que permite explorar el formato del valor, algo que no se explora en 

Python3

# import module
import xlwt
from datetime import datetime
  
# assign attributes
style0 = xlwt.easyxf('font: name Verdana, color-index green, bold on',)
style1 = xlwt.easyxf(num_format_str='D-MMM-YY')
style2 = xlwt.easyxf(
    'font: name Times New Roman, color-index orange, bold on',)
  
  
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
  
# add data
ws.write(0, 0, 156, style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 0, 1, style2)
ws.write(2, 1, 1, style2)
ws.write(2, 2, xlwt.Formula("A3+B3"))
  
# printing results
wb.save('example.xls')

Producción:

Explicación:

Importamos la biblioteca y luego declaramos 3 estilos diferentes para aplicar a los valores. El estilo 1 explora una familia y el color verde, mientras que el tercero es Times New Roman, y el color es naranja con un estilo audaz. Orzuelo 1 es el formato de fechas si se menciona, y es D-MM-AA

Escribimos los valores esta vez en filas y columnas respectivas, ambas comenzando con 0 índices. Por lo tanto, ws.write (fila, columna, valor, estilo). El estilo es opcional aquí.

Usando el escritor Xlsx

XlsxWriter es un módulo de Python para escribir archivos en el formato de archivo XLSX de Excel 2007+. XlsxWriter se puede usar para escribir texto, números, fórmulas e hipervínculos a varias hojas de trabajo, y admite características Aquí hay un ejemplo simple: formato condicional, hoja de trabajo Imágenes PNG/JPEG/BMP/WMF/EMF, strings multiformato enriquecidas, comentarios de celda, integración con Pandas, cuadros de texto, soporte para agregar macros.

Instalación

Instale la biblioteca a continuación desde los comandos

pip instalar XlsxWriter

    O

pip3 instalar XlsxWriter

Ejemplo

Esta es otra forma de crear una hoja de Excel y con una amplia gama de opciones, así como imágenes de todas las extensiones compatibles. Tomemos un ejemplo de código a continuación.

Python3

# import module
import xlsxwriter
  
# Create an new Excel file and add a 
# worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
ws = workbook.add_worksheet()
  
# Widen the first column to make the 
# text clearer.
ws.set_column('A:A', 20)
  
# Adding a bold format to use to highlight 
# cells.
style = workbook.add_format({'bold': True})
  
# add data
ws.write('A1', 'Geeks')
ws.write('A2', 'for Geeks', style)
ws.insert_image('B5', 'logo.png')
  
workbook.close()

Explicación:

Primero importamos dicha biblioteca y creamos un libro de trabajo (demo.xlsx) y comenzamos configurando una columna ancha y dando el tamaño de 20. Luego declaramos un nombre de estilo en negrita donde establecemos el estilo como verdadero. A continuación, escribimos la palabra «Geeks» sin estilo, pero la siguiente palabra «for Geeks» se aplica al estilo que le hemos dado. Observe que, en comparación con el ejemplo anterior, usamos true en lugar de on y la función easyxf para declarar un estilo. Esto hace que xlsxWriter sea la sintaxis más legible y libre de usuarios en comparación con las otras dos.

Producción:

Publicación traducida automáticamente

Artículo escrito por Aditi_Khedkar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *