read.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. def sql2net(fecha):
  13. """Lee la información de la red desde una base de datos
  14. .. warning::
  15. Función no implementada.
  16. """
  17. q = query.format(f=fecha)
  18. df = read_sql(q, conn)
  19. df.columns = ['bus_i', 'bus_j', 'ckt', 'x', 'r', 'max', 'min']
  20. return df
  21. def csv2net(file):
  22. """Lee la información de la red desde un archivo csv
  23. """
  24. df = read_csv(file)
  25. df.columns = ['bus_i', 'bus_j', 'ckt', 'x', 'r', 'max', 'min']
  26. return df
  27. def excel2net(file):
  28. """Lee la información de la red desde un archivo de excel.
  29. .. note::
  30. La información debe de estar en una hoja del archivo llamada 'rtr'.
  31. """
  32. df = read_excel(file, sheet_name='rtr')
  33. df.columns = ['periodo','bus_i', 'bus_j', 'ckt', 'x', 'r', 'max', 'min']
  34. return df