Como ler arquivos CSV em outros programas?

Sintomas

A maioria dos editores de texto modernos pode detectar automaticamente a codificação de um documento. Além disso, eles têm uma opção na caixa de diálogo FileOpen (AbrirArquivo) que permite escolher a codificação: ANSI, Unicode ou outra. Você deve saber de fato a codificação de um documento para usar esta opção.

Causa

Os comandos EXTRACAODADOS, EXTRATRIB e EXPORTARTABELA podem gerar arquivos CSV que podem ser lidos em outros softwares, como o Excel. O resultado estará correto se prestarmos atenção ao delimitador e à codificação.

Solução

Codificação (Encoding): os caracteres podem ser codificados em mais do que uma maneira e, se um documento for interpretado com a codificação incorreta no Excel, LibreOffice ou outro editor, os caracteres serão provavelmente exibidos completamente diferentes.

Estas são as codificações para os diferentes comandos de extração:

  • EXTRACAODADOS: UTF-8 com BOM.
  • EXTRATRIB: UTF-8 sem BOM.
  • EXPORTARTABELA: UTF-8 sem BOM.

Delimitador/separador: embora CSV signifique arquivo separado por vírgula, o separador nem sempre é uma vírgula. Se a operação de importação assumir silenciosamente um delimitador diferente daquele no arquivo CSV, a importação vai falhar.

  • EXTRACAODADOS: o delimitador pode ser definido no diálogo de extração
  • EXTRATRIB: o delimitador pode ser definido na caixa de diálogo de extração
  • EXPORTARTABELA: o delimitador é definido no nível do SO em configurações regionais.

O Excel tem muitas maneiras de ler um arquivo CSV. Às vezes, apenas abrir com as configurações padrão vai funcionar, mas se isso falhar, pode-se alternar para outro método que oferece uma caixa de diálogo onde o usuário pode selecionar explicitamente a codificação e o delimitador:

  • Ler Dados: esta é uma importação, e o documento resultante será salvo com formato Excel
  • Abrir: este será salvo no formato original
  • Abrir com clique-duplo