# Recomendações para ficheiros CSV

De seguida são descritas todas as recomendações a ter em conta ao formatar ficheiros [CSV](https://mosaico.gov.pt/glossario#glossario-csv). Para recomendações sobre outros formatos, como [XML](https://mosaico.gov.pt/glossario#glossario-xml-extensible-markup-language), RDF ou JSON consultar o guia [Data Quality Guidelines](https://op.europa.eu/en/publication-detail/-/publication/023ce8e4-50c8-11ec-91ac-01aa75ed71a1).

## Usar o ponto e vírgula como delimitador

Usar o ponto e vírgula para separar cada valor em vez da vírgula, evitando que esta seja interpretada como um delimitador, uma vez que os pontos e vírgula são utilizados com menor frequência em valores. O delimitador deve ficar sempre entre dois valores e não podem existir espaços ou tabulações antes ou depois.

De seguida é ilustrado um exemplo incorreto, onde duas linhas têm uma tabulação a seguir ao delimitador e onde todas as células têm o último valor seguido por um ponto e vírgula, e outro exemplo correto, onde não existe qualquer espaço ou tabulação antes ou depois do delimitador e o último valor de cada linha não é seguido por um delimitador.

<figure><img src="/files/VDnEV1nMbVgDFkR0rNyo" alt=""><figcaption><p>Exemplo incorreto, à esquerda, e correto, à direita, da utilização do ponto e vírgula como delimitador</p></figcaption></figure>

## Disponibilizar uma tabela por ficheiro

Cada ficheiro CSV só pode conter uma tabela. Se a tabela a publicar for composta por várias folhas, deve ser criado um ficheiro CSV para cada uma, uma vez que uma organização diferente quebraria a estrutura da tabela e iria dificultar a sua interpretação por meios automáticos.

De seguida é ilustrado um exemplo incorreto onde foram incluídas duas tabelas distintas no mesmo ficheiro, e outro correto, onde foram disponibilizados dois ficheiros, cada um contendo uma tabela com uma estrutura distinta.

<figure><img src="/files/UCjhrtZe7oN4shuno5kK" alt=""><figcaption><p>Exemplo incorreto, à esquerda, e correto, à direita, de disponibilização de apenas uma tabela por ficheiro</p></figcaption></figure>

## Evitar inserir espaços em branco e informação adicional no ficheiro

Garantir que o ficheiro contém apenas dados que pertencem à tabela em si, como os cabeçalhos das colunas e os respetivos valores, uma vez que a inclusão de informação adicional dificulta o processamento porque os espaços em branco e títulos das tabelas também são interpretados automaticamente.

De seguida é ilustrado um exemplo incorreto de um ficheiro que contém o título de tabela e duas linhas vazias (vermelho), quando visualizado no Microsoft Excel.

<figure><img src="/files/H7jjRRQMsthsyCdVcw6B" alt=""><figcaption><p>Exemplo incorreto, onde foram inseridas células em branco e informação adicional, quando visualizado no Microsoft Excel</p></figcaption></figure>

Na figura que se segue, é ilustrado como o mesmo ficheiro foi lido por um editor de texto, onde a linha do título da tabela e as linhas vazias (vermelho) foram interpretadas.

<figure><img src="/files/LvRAr8cvVh7FTsQhlQcg" alt=""><figcaption><p>Exemplo incorreto, onde foram inseridas células em branco e informação adicional, quando interpretado por um editor de texto</p></figcaption></figure>

O exemplo incorreto que se segue ilustra um ficheiro com informações e formatações adicionais, identificadas com caixas de texto, que irão dificultar o processamento automático dos dados.

<figure><img src="/files/QVnTLdUUaqloiV6XPUpf" alt=""><figcaption><p>Exemplo incorreto de um ficheiro com informações e formatações adicionais, identificadas com caixas de texto</p></figcaption></figure>

No exemplo correto que se segue é ilustrada uma versão do ficheiro com os mesmos dados onde todas as informações adicionais foram removidas e o título da tabela foi incluído no nome do ficheiro.

<figure><img src="/files/mNPxd6nSaQXJihH6ml5s" alt=""><figcaption><p>Exemplo correto de um ficheiro sem informações ou formatações adicionais</p></figcaption></figure>

<figure><img src="/files/cEBMirqDOLzOHaKL7Qzz" alt=""><figcaption><p>Exemplo correto de um ficheiro onde o título da tabela foi incluído no nome do ficheiro e retirado da tabela</p></figcaption></figure>

## Inserir cabeçalhos nas colunas

Incluir sempre cabeçalhos das colunas na primeira linha do ficheiro. Os cabeçalhos devem ser, preferencialmente, autoexplicativos, mas caso não sejam, a sua explicação deve ser incluída nos [metadados](https://mosaico.gov.pt/glossario#glossario-metadados).

De seguida mostram-se dois exemplos, um incorreto, em que o ficheiro não tem cabeçalhos e outro correto, onde os cabeçalhos foram incluídos na primeira linha.

<figure><img src="/files/utLuhVpV5oW0SkeXfZIF" alt=""><figcaption><p>Exemplo incorreto, à esquerda, e correto, à direita, de inserção de cabeçalhos nas colunas</p></figcaption></figure>

O exemplo incorreto mostra um ficheiro [CSV ](https://mosaico.gov.pt/glossario#glossario-csv)com um cabeçalho que não é autoexplicativo, sendo, nesse caso, necessário fornecer explicações adicionais nos metadados.

<figure><img src="/files/Yfk4uV5jgI52FjESLzHe" alt=""><figcaption><p>Exemplo incorreto onde a linha do cabeçalho não é autoexplicativa</p></figcaption></figure>

## Todas as linhas devem ter o mesmo número de colunas

Garantir que todas as linhas têm o mesmo número de colunas e sigam a estrutura correta de um ficheiro CSV.

De seguida são mostrados dois exemplos, um incorreto, onde falta o cabeçalho da última coluna e duas linhas não têm valores na última coluna, e outro correto, onde todas as linhas têm valores para todas as colunas.

<figure><img src="/files/Tke5nFQCVXPIJgvV7JHB" alt=""><figcaption><p>Exemplo incorreto, à esquerda, e correto, à direita, do número de colunas em cada linha</p></figcaption></figure>

## Indicar unidades de medida

Indicar as unidades de medida de uma forma facilmente processável, declarando-as nas colunas correspondente ou, caso a unidade varie entre linhas, usando uma coluna para especificar a unidade utilizada. Adicionalmente, a unidade de medida pode ser referenciada nos [metadados ](https://mosaico.gov.pt/glossario#glossario-metadados)correspondentes do *stat:dcat*.

São ilustrados dois exemplos, um incorreto, onde a unidade de medida está incluída na célula que contém o valor, e um correto, onde existe uma coluna dedicada à unidade de medida utilizada em cada linha.

<figure><img src="/files/5T7a1NsfSuStOeU82ZqG" alt=""><figcaption><p>Exemplo incorreto, à esquerda, e correto, à direita, da indicação de unidades de medida</p></figcaption></figure>

No exemplo correto que se segue optou-se por especificar as unidades de medida utilizando a lista de vocabulário controlado disponibilizada pelo Serviço das Publicações da União Europeia.

<figure><img src="/files/X4NRZCQNAHHLymaI5w76" alt=""><figcaption><p>Exemplo correto da indicação de unidades de medida, recorrendo à lista de vocabulário controlado</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guias.mosaico.gov.pt/guias-praticos/como-disponibilizar-e-reutilizar-dados-abertos/recomendacoes-para-ficheiros-csv.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
