Usando o Python no InterSystems IRIS
Vamos neste breve artigo ver como podemos utilizar o python como linguagem de programação dentro o InterSystems IRIS. Para o nosso exemplo vamos criar um método que exporta os dados de uma tabela do IRIS para um arquivo no formato XLS (MS-Excel). Para isso vamos utilizar a biblioteca pandas do python.
Primeiro, vamos ver a nossa tabela.:
Class Demo.Alunos Extends (%Persistent, %Populate)
{
Property name As %String(MAXLEN = 100);
Property dob As %Date(FORMAT = 4);
Property sex As %String(VALUELIST = ",F,M");
Property course As %String(VALUELIST = ",Engenharia,Arquitetura,Direito,Artes,Letras,Psicologia,Musica");
Property note1 As %Integer(MAXVAL = 10, MINVAL = 0);
Property note2 As %Integer(MAXVAL = 10, MINVAL = 0);
Property debt As %Boolean;
}
Note que estamos utilizando a superclasse %Populate na nossa classe Demo.Alunos. Esta superclasse nos permite popular a nossa tabela com dados que serão criados baseado no tipo de cada propriedade. Para mais detalhes do %Populate veja o link https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_populate
Compilada nossa classe, vamos abrir o terminal do Iris e pedir para criar 100 registros na nossa tabela:
Após criar os registros vamos verificar como ficou a nossa tabela. Abra o SQL Explorer no Portal de Administração do IRIS e veja o conteúdo da tabela:
Pronto. Temos nossa tabela criada e populada com 100 registros. Agora precisamos ver o python. Veja o link da documentação do IRIS a seguir: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_epython
Este link apresenta a documentação de instalação do python no IRIS para os diversos ambientes, e também o uso do irispip (até o IRIS 2024.1) ou pip (a partir do IRIS 2024.2) para a instalação de pacotes.
Uma vez instalado e configurado o python vamos abrir o shell python a partir do terminal do IRIS apenas para verificar se está tudo ok. Veja a tela a seguir:
Ótimo. Estamos com o ambiente montado e pronto para avançarmos. Vamos agora para o pacote que vamos utilizar, o pandas. Para maiores detalhes sobre este pacote veja o link a seguir: https://pandas.pydata.org/
Instale o pandas no seu ambiente obedecendo a documentação do IRIS. Veja o diretório de instalação dos pacotes e qual utilitário (irispip ou pip) usar (vai depender da sua versão de IRIS).
No meu ambiente (IRIS 2024.1) o comando seria, via shell do Windows, ir para o diretório bin da instalação do IRIS e executar o seguinte comando:
.\irispip install --target c:\InterSystems\IRIS_ISS\mgr\python pandas
No meu exemplo o pacote pandas será instalado em mgr\python da minha instalação de IRIS. Veja o caminho para mgr\python da sua instalação e ajuste o comando.
Instalado o pandas vamos ao código do nosso método que exporta os dados para o Excel:
Class Python.Exporta [ Abstract ]
{
ClassMethod tabela() As %Status [ Language = python ]
{
import iris
import pandas as pd
rs = iris.sql.exec("select * from demo.alunos")
df = rs.dataframe()
# Salvar o DataFrame como um arquivo XLS
caminho_arquivo = 'c:\\temp\\dados.xlsx'
df.to_excel(caminho_arquivo, index=False)
return True
}
}
Salve e compile a classe. Uma vez criado o código vamos executa-lo via terminal:
Pronto. Agora é só ir até o local de criação e abrir a tabela:
O código python é bem simples. Primeiro criamos um recordset a partir do comando SQL para recuperar as linhas da nossa tabela. Depois convertemos esse recordset em um dataframe pandas. Então usamos o dataframe para exportar os dados no formato XLS.
Este é um exemplo simples de uso do python. Existem várias bibliotecas úteis prontas e disponíveis para uso.
Até a próxima!