Mar 10

Generando fichero excel de temperaturas de sensores desde #python del evento #TalkDevOps

En el evento que asistí tuvimos que alimentar un Event Hub con datos de sensores. No lo teníamos y sacamos esta solución.

Captura

Este fichero lo generamos en python con el módulo  xlwt. Ya veremos en un próximo artículo como generar el mismo fichero pero en formato .csv

Vamos a ir explicando el código.

Captura

Primero llamamos a ls módulos que van a intervenir con el comando import.

Después le pedimos cuantos registros querremos, en el caso 25. Puedes poner todos los que quieras.

En nuestro caso sacamos 10.000.

Siguiendo el programa: abrir el fichero, ponemos nombre a la hoja y las cabeceras de columnas.

Captura

A continuación ponemos 2 tuplas con los datos que tambien van a intervenir como el  nombre de cpd y la provincia.

Por ultimo, metemos datos al azar en las columnas de la hoja de calculo  y grabamos.

Captura

Este fichero le pasamos ahora a SQL Server.

El código:

import xlwt
import time
import random

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

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

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

# escribimos encabezados
ws.write(0,0,'DD')
ws.write(0,1,'MM')
ws.write(0,2,'AA')
ws.write(0,3,'HH')
ws.write(0,4,'MM')
ws.write(0,5,'CPD')
ws.write(0,6,'Provincia')
ws.write(0,7,'Temperaturar')

# 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,random.randint(1,30))
ws.write(col,1,random.randint(1,2))
ws.write(col,2,2016)
ws.write(col,3,random.randint(0,23))
ws.write(col,4,random.randint(0,59))
ws.write(col,5,random.choice(cpd))
ws.write(col,6,random.choice(provincia))
ws.write(col,7,random.randint(20,27))
col = col + 1

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

Si tienes alguna idea y no la sabes implementar te puedes pasar por el feisbuk o tuister que esta ahí arriba y me lo dices.

Lo que puedes hacer también, es compartir este artículo como todos lq eu hay en este blog en tu redes sociales.