Arquivo HTML para apresentar dados CSV

Suponha que você tenha alguns arquivos com valores separados por virgula (CSV) e deseja apresentá-los para alguém. Você pode abrir um por um no seu programa de editar planilhas, arrumar as colunas para que os dados fiquem visíveis, converter ponto pra vírgula, juntar as tabelas em uma página só para comparação, etc ou criar um script que faça isso para você.

Uma forma de apresentar os dados em tabelas pode ser através de HTML. Essa linguagem, aliada ao CSS, pode deixar um resultado bem apresentável e de fácil compreensão de quem vê. Como é muito chato montar uma tabela HTML “na mão” sem um modelo, você pode usar um shell script para gravar um arquivo HTML contendo a estrutura básica de marcação do HTML e as propriedades de estilo do CSS.

O shell script do exemplo a seguir cria um arquivo HTML com título, subtítulo, insere imagem e cria tabela com cabeçalho, com todos os elementos centralizados. Por fim, converte o HTML em PDF (opcional).

Esse outro exemplo é um pouco mais complexo, pois imprime várias tabelas em um mesmo HTML. São arquivos de 4 lugares e 3 datas, totalizando 12 combinações – ou seja, 12 arquivos de entrada no formato CSV. O exemplo abaixo criar um arquivo de saída com as seguintes configurações:

  • uma DIV (envolve) que contém todo o conteúdo a ser gravado;
  • três DIVs (div_1, div_2 e div_3, uma ao lado da outra), cada uma com um título indicando a data (a do meio tem fundo cinza);
  • cada DIV possui quatro tabelas (uma embaixo da outra), cada uma contendo o nome do lugar no próprio arquivo CSV;
  • cada tabela possui um cabeçalho, que será impresso de modo diferente (“th” em vez de “td”).

As propriedades de estilo estão definidas no início do scripts para serem gravadas no arquivo de saída.

O script “faz_tabelas.sh” gera o arquivo de saída “tabela.html”, que pode ser aberto em qualquer navegador.