read.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # -*- coding: utf-8 -*-
  2. # =============================================================================
  3. # Copyright (C) 2018 Mercados Electricos de Centroamérica. All rights reserved
  4. # =============================================================================
  5. """Importa el archivo de red RTR a utilizar para el cálculo
  6. """
  7. from pandas import read_sql, read_csv, read_excel
  8. # SERVER = "192.168.98.134"
  9. # DB = "MEIntegrado"
  10. # conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + SERVER + ';DATABASE=' + DB)
  11. # query = "SELECT BUS_I, BUS_J, ID_CKT, X, R, CTOIJ, CTOJI FROM MATRIZ_RTR WHERE FECHA = '{f}'"
  12. # logger = logging.getLogger('simsdt.red')
  13. def sql2net(fecha):
  14. """Lee la información de la red desde una base de datos
  15. .. warning::
  16. Función no implementada.
  17. """
  18. q = query.format(f=fecha)
  19. df = read_sql(q, conn)
  20. df.columns = ['bus_i', 'bus_j', 'ckt', 'x', 'r', 'max', 'min']
  21. return df
  22. def csv2net(file):
  23. """Lee la información de la red desde un archivo csv
  24. """
  25. df = read_csv(file)
  26. df.columns = ['bus_i', 'bus_j', 'ckt', 'x', 'r', 'max', 'min']
  27. return df
  28. def excel2net(file):
  29. """Lee la información de la red desde un archivo de excel.
  30. .. note::
  31. La información debe de estar en una hoja del archivo llamada 'rtr'.
  32. """
  33. df = read_excel(file, sheet_name='rtr')
  34. df.columns = ['bus_i', 'bus_j', 'ckt', 'x', 'r', 'max', 'min']
  35. return df