Edite o arquivo csv com o Excel sem reformatar

4

Eu tenho um arquivo de dados csv parecido com este

1,2,3

5,6,7

Eu o abro com o Excel 2010, faço algumas alterações (altero algum valor, excluo uma coluna ou qualquer outra coisa) e salvo novamente o arquivo como csv. Mas agora os dados se tornam

1,2,3
,,
5,6,7

onde a linha em branco no meio está agora preenchida com uma linha de campos vazios separados por vírgula. Eu sei que isso não é muita diferença neste exemplo, mas fica muito chato quando eu tenho código para trabalhar com esses dois formatos diferentes. Existe uma maneira de impedir que o Excel altere o formato? Ou existe outro programa que eu possa editar facilmente o arquivo csv?

    
por LWZ 23.01.2013 / 05:23

3 respostas

1

Uma linha em branco em um arquivo CSV significa que ela não está em conformidade com a sintaxe usada na maioria das implementações, se não em todas, do CSV. Você pode ler sobre isso em RFC 4180 :

Each line should contain the same number of fields throughout the file.

Qual saída do Excel é, na verdade, a representação correta de uma linha em branco, já que um arquivo CSV sempre tem o mesmo número de colunas. Você não poderá usar outro editor de CSV, pois todos eles sairão em formato CSV padronizado ou talvez nem consigam ler seu arquivo adequadamente. Eles podem pular a linha em branco ou imprimi-la como no Excel.

Aqui estão algumas soluções possíveis:

  • Você não pode alterar a maneira como o Excel salva arquivos CSV. Se você quiser quebrar uma borboleta em uma roda, precisará escrever o código VBA para exportar manualmente o arquivo.

  • Altere os arquivos CSV originais para que não contenham linhas em branco.

    Se você precisar de linhas em branco para identificar dados não contíguos ou tabelas separadas, considere criar arquivos CSV separados para cada parte ou tornar a tabela identificadora de outra coluna no CSV para obter uma representação tabular adequada.

  • Altere seu código para trabalhar com a representação do Excel e, assim, siga os padrões estabelecidos para o CSV. Simplesmente trate uma linha com campos vazios como vazios.

  • Modifique os arquivos CSV em qualquer editor de texto simples (Bloco de notas, etc.) para remover as linhas ofensivas.

por 23.01.2013 / 11:35
1

Os arquivos csv podem ser editados com o bloco de notas ou qualquer editor de texto simples

    
por 23.01.2013 / 10:36
0

Você precisa abrir um Excel vazio e usar a opção Importar do texto da guia DADOS.

Lá, você terá um assistente de importação, onde poderá selecionar codificação, delimitadores e formato de cada coluna antes de importar.

Após a edição, você pode salvar como CSV.

    
por 29.01.2016 / 14:44