Saltar al contenido

Ya trabajamos con este módulo haciendo una pequeña excel. Ahora vamos a formatear un poco los datos

Captura

De la hoja original hemos cambiado

#formatos
negrita = workbook.add_format({'bold': True})
moneda = workbook.add_format({'num_format': '#,##0'})

y lo aplicamos a la celdas de forma

# Cabeceras.
worksheet.write('A1', 'Comercial', negrita)

o

# Fila del total
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)',moneda)

También podemos darle color, tamaño y ...

Captura

#formatos
cabecera = workbook.add_format()
cabecera.set_font_color('blue')
cabecera.set_font_size(16)
cabecera.set_bold()

Y tambien podemos dar color a los nombres de libros

Captura

Este módulo da para mucho mucho.

Ahora os toca jugar con el ....

1

Durante el evento de esta semana que asistí genere datos para después utilizarlos en sql server y power bi.

Ahora vamos a mejorarlo, metiendo un campo fecha y quitando las columnas individuales.

Captura

Como podemos ver, mete la fecha de hoy en la columna Fecha y genera 25 registros.

Aquí os dejo el código:

import xlwt
import time
import random
import datetime

# cuantos registros quieres
repetir = int(input("Cuantos registros quieres tener: "))

#tramo de fechas
hoy = datetime.datetime.now().strftime('%d/%m/%Y')

# creamos el fichero excel y csv
wb = xlwt.Workbook()

# añadimos hoja
ws = wb.add_sheet('Datos sensor')

# escribimos encabezados
ws.write(0,0,'Fecha')
ws.write(0,1,'CPD')
ws.write(0,2,'Provincia')
ws.write(0,3,'Temperatura')

# lista de cpd
cpd = ["A","B","C"]
#lista de provincia
provincia = ["Madrid","Segovia","Murcia"]

# escribo columnas excel
col = 1
while col <= repetir:
ws.write(col,0,hoy)
ws.write(col,1,random.choice(cpd))
ws.write(col,2,random.choice(provincia))
ws.write(col,3,random.randint(20,27))
col = col + 1

# grabo Fichero ecel.
print(" GEnerado Fichero ... CPD_Temperaturas.xls")
wb.save('D:\CPD_Temperaturas.xls')

 

Intentaré mas adelnte meterle un rango de fechas. De momento lo dejamos así.

Si lo mejorais, avisr ;).