Avançar para o conteúdo principal

TXT para XLSX com programação

TXT para XLSX com programação

Quando há algum trabalho de repetição a realizar, entra em cena a possibilidade de o realizar através de alguma rotina de programação.

Numa das recentes tarefas era necessário transformar vários ficheiros de resultados do ISPOL, de tipo texto, com a típica extensão RES em ficheiros de Excel para apresentação ao cliente.

Há várias abordagens possíveis, desde logo importar dento do Excel cada ficheiro, passar o texto separado por espaços para colunas... um trabalho repetitivo que pede programação.

A transformação seria algo deste tipo:

res xlsx

Os ficheiros de ISPOL são ficheiros de texto, neste caso encolunados, portanto fáceis de "separar" em programação.

A minha primeira abordagem foi o VBA. Com umas fontes da Net consegui fazer o algoritmo para seleccionar todos os ficheiros de uma pasta, com determinada extensão e transformá-los em ficheiros de Excel.

Uma velha linguagem. Há quem diga que está em vias de extinção já que nos Office 360 não se aplica, e existem extensões para usar o Javascript, que acaba por ser uma linguagem adequada a qualquer coisa que funcione em nuvem.

Aqui um extracto do VBA usado:

vba

Depois com algum tempo, fiz algo semelhante em CSharp, pois estou a investir parcialmente nesta linguagem. O defeito é ser mais dura de programar que em VBA e ter de levar atrás do executável os ficheiros DLL. O meu algoritmo é um pouco lento, poderia ser melhorado com uma revisão do código.

Um exemplo do C#:

c#

E finalmente fiz também algo semelhante em Javascript. Não usando o Node que complica a instalação e divulgação, usei uma livraria externa, que implica o uso de internet. A grande vantagem é a facilidade de programação e uso de uma interface gráfica proporcionada por uma página web.

Um exemplo do código em Javascript:

javascript


Cumprimentos

Comentários

  1. hola me podrían compartir por favor gracias de antemano le dejo mi correo branjorcu_94@hotmail.com

    ResponderEliminar

Enviar um comentário

Obrigado pelo seu contacto.

Mensagens populares deste blogue

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Python - Automatização em ISPOL

Python - Automatização em ISPOL Com o uso de PyAutoGui podemos automatizar tarefas repetitivas no ISPOL ISTRAM. No trabalho actual, é necessário converter mais de 300 ficheiros. Já houve um trabalho prévio de ler e transformar dados de directrizes em Excel para ficheiros compatíveis com a conversão presente. Este trabalho prévio foi também feito com programação. Tendo os muitos ficheiros com formato TXT que o ISPOL pode ler e converter para CEJ, é necessário ir ao menu de Conversores do ISTRAM e digitar os dados para ler a localização dos ficheiros, número de eixo etc... um trabalho repetitivo. Sendo repetitivo uma hipótese que deve surgir é se existe forma de automatizar / programar. O ISTRAM ISPOL não permite o uso de plugins (como o CAD), por tanto a via seria pela automatização dos movimentos. O pacote PyAutoGUI para Python permite esta simulação de movimentos. https://pyautogui.readthedocs.io/en/latest/ Basicamente "guiamos" o cursor para onde deve clicar e o que introdu...

Python - Larguras de vias em Excel para ISPOL

Python - Larguras de vias em Excel para ISPOL Uma das formas de organizar a informação é usar o Excel. O ISPOL sendo um software em que muita informação é indicada de forma paramétrica, pode gerar alguma dificuldade ou confusão, quando há muitos dados. É o caso das larguras de vias, quando há vias de aceleração ou abrandamento, e diversas situações de vias adicionais. Uma forma de contornar alguma dificuldade é organizar a informação em quadros Excel. O Excel não comunica com o ISPOL, por isso arranja-se um canal de comunicação, a programação em Python. Com alguma experiência na programação, criar um script que realize o que pretendemos não leva assim tanto tempo. Como primeiro passo, ter um ficheiro de Excel com a informação estruturada. Os dados principais podem ser introduzidos com leituras de PKDist do ISPOL e copiados para o Excel. Pode-se ter umas fórmulas nas células para calcular as transições. Cada folha de Excel é relacionada a um eixo. O script ao início pede o número de eix...