Saltar al contenido

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.

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.