Tablora

Tablora · Biblioteca

Preservar uma quebra de linha dentro de uma célula

Uma célula CSV entre aspas pode conter uma quebra de linha, então um registro ocupa duas linhas físicas. Conte as linhas lidas, não as do texto, e veja como cada exportação trata isso.

Um registro, duas linhas de texto

Endereços, observações de entrega e comentários muitas vezes contêm quebras de linha. O CSV permite isso quando o campo está entre aspas: tudo o que fica entre as aspas de abertura e de fechamento pertence a uma célula, quebras de linha incluídas. Em um editor de texto o registro parece ocupar duas linhas; em uma importação correta ele é uma linha com uma célula de várias linhas.

Por isso, contar linhas de texto não é um jeito confiável de contar registros. Um arquivo pode ter mais linhas físicas do que registros sem nenhum erro de leitura de nenhum dos lados.

Isso importa para qualquer verificação que conte linhas, como a contagem que um editor ou uma ferramenta de linha de comando informa. Use em vez disso o número de “Linhas” do inspetor, que conta registros lidos.

Exemplo: First line e Second line

O exemplo da página tem um cabeçalho id,note e um registro cuja nota é "First line" e "Second line" em duas linhas dentro de um único par de aspas. Com a vírgula como “Delimitador”, o inspetor informa 2 linhas e 2 colunas, e não 3 linhas. A linha 2, coluna 2, contém First line, uma quebra de linha e Second line, tudo em uma célula.

Examinando notas de várias linhas

Como cada exportação trata a quebra de linha

Quando o programa de destino discorda

Algumas janelas de importação têm uma opção para quebras de linha em campos entre aspas, e algumas ferramentas não as aceitam de forma alguma. Se o programa de destino dividir a nota, confira primeiro as configurações de importação; o arquivo em si já está correto quando o inspetor mostra 2 linhas aqui.

Dados de entrada

Texto da tabela
id,note 1,"First line Second line"
Delimitador
,

Resultados

Linhas
2
Colunas
2
idnote
1First line Second line
Linhas com largura diferente
0