Tablora

Tablora · Biblioteca

Manter uma vírgula dentro de uma única célula CSV

Uma vírgula dentro de um campo CSV entre aspas, como em "Red, blue", faz parte do valor. Confira se o inspetor a lê como uma única célula antes de baixar.

Vírgulas que fazem parte do valor

Descrições, endereços e nomes de empresas muitas vezes contêm vírgulas. Em um arquivo separado por vírgulas, um valor assim precisa estar entre aspas para que a vírgula não seja lida como limite de campo. Um software que divide cada linha em todas as vírgulas ignora essas aspas e transforma um registro de duas colunas em três células, empurrando todos os valores seguintes uma coluna para a direita.

O inspetor segue a regra de aspas do CSV. Uma vírgula dentro de um campo entre aspas fica na célula, e as próprias aspas são tratadas como sintaxe, e não como parte do valor.

Lendo Mira e Red, blue

O exemplo da página tem o cabeçalho name,note e o registro Mira,"Red, blue", com a vírgula como “Delimitador”. A leitura dá 2 linhas e 2 colunas, e a linha 2, coluna 2, mostra Red, blue, sem as aspas em volta e com a vírgula dentro do valor.

O segundo campo do cabeçalho, note, se alinha com Red, blue, então o registro tem exatamente a largura do cabeçalho e “Linhas com largura diferente” mostra 0.

Conferindo um campo entre aspas

Um espaço antes das aspas de abertura

Um CSV editado à mão costuma ter um espaço depois da vírgula: Mira, "Red, blue". Pela regra do CSV, uma aspa só abre um campo quando é o primeiro caractere dele, então um espaço antes a transforma em um caractere inesperado. O inspetor recusa o texto com “Confira os valores inseridos e tente novamente.” em vez de adivinhar. Remova na sua cópia o espaço entre a vírgula e as aspas de abertura e calcule de novo.

Uma aspa que nunca é fechada tem o mesmo efeito em todas as linhas seguintes, então, se o erro continuar, procure uma aspa de fechamento que falta.

Vírgulas nas exportações do app

A exportação CSV do app Tablora põe entre aspas qualquer célula que contenha vírgula, aspas ou quebra de linha, então uma descrição como Red, blue fica em uma única célula quando o arquivo é aberto em outro lugar.

Dados de entrada

Texto da tabela
name,note Mira,"Red, blue"
Delimitador
,

Resultados

Linhas
2
Colunas
2
namenote
MiraRed, blue
Linhas com largura diferente
0