A forma mais simples de importar dados de uma planilha para o Scilab é simplesmente selecionar todos os dados que se deseja importar da planilha e dar um “Ctrl+C” e um “Ctrl+V” no editor do Scilab e adicionar colchetes antes e depois dos dados. Esse procedimento está ilustrado na animação abaixo:
O procedimento inverso de gravar dados de saída do Scilab em uma planilha também pode ser feito de forma semelhante. Entretanto, esse procedimento se torna inconveniente quando a quantidade de dados aumenta muito ou quando é necessário maior automatização ou agilidade na importação e exportação de dados. Nestes casos, a melhor forma de importar ou exportar dados do Scilab é através de planilhas “.csv”. A sigla “csv” significa “comma-separated values”, em português seria algo como: valores separados por virgula. Entretanto, os valores nem sempre são realmente separados por virgula(“,”), dependendo do caso pode-se usar “tab”, “space”, “;”, etc. É um formato de planilha amplamente aceito e que praticamente todas as planilhas que existem aceitam (Ex: Excel, LibreOffice, etc).
No Scilab existem dois comando para trabalhar com arquivos CSV: csvWrite e csvRead. Os nomes já são bem autoexplicativos, csvWrite é para gravar dados do Scilab( matrizes) em um arquivo .csv e csvRead é para ler uma planilha .csv para uma matriz do Scalib. Abaixo segue um código ilustrativo do procedimento para ler e gravar em um arquivo .csv.
//Exemplo de gravação e leitura de um arquivo .csv no Scilab
m=[1.1 2 3
4 5 6
7 8 9]
arquivoDados = fullfile(pwd(),"dados.csv")
csvWrite(m,arquivoDados,";",".","%.2f")
m2=csvRead(arquivoDados,";",".")
O comando “fullfile” serve para concatenar caminhos de um determinado diretório com o nome de um arquivo. O comando “pwd” é responsável por retornar o nome do diretório atual no qual o Scilab está executando. Esse comando é um acrônimo para “pwd” -> “print working directory”.
O comando csvWrite pode ser utilizado com até 5 parâmetros. O primeiro é a matriz que se deseja gravar na planilha, o segundo é o nome do arquivo. Os demais parâmetros são opcionais. O terceiro parâmetro diz qual é o separador de valores que deve ser utilizado, o padrão é o separador ser a virgula. O quarto parâmetro é qual o separador de casas decimais que deve ser utilizado, pode ser “.” ou “,” . E o último parâmetro diz com quantas casas decimais você deseja gravar os números na planilha.
O comando csvRead, basicamente, tem os mesmo parâmetros que o csvWrite. A exceção é que no caso do csvRead você não precisa passar o nome de uma matriz como parâmetro. O comando csvRead vai carregar a planilha especificada pelo nome e converte ela para um formato de matriz no Scilab e retornar como uma nova variável.
Para mais informações sobre como utilizar esse comando vale a pena dar uma olhada na documentação do próprio Scilab fazendo: “help csvWrite” ou “help csvRead”.
Deixe um comentário