Por que a linha 4 é o registro 3

RFC 4180 é um documento Informational que descreve quebras em campos entre aspas. Aqui first e second são duas linhas da mesma célula. A quebra visual pela largura da tela não é uma quebra real na entrada.

id,note
001,"first
second"
002,ok,extra

A entrada acima tem 4 linhas físicas e 3 registros com o cabeçalho. O Moyoutil indicou 2 colunas esperadas e 3 reais no último registro: linha 4, registro 3. A quebra dentro da célula não acrescenta outro registro.

Diagrama comparando quatro linhas físicas CSV com três registros por regiões coloridas
Diagrama próprio. À esquerda estão as linhas físicas; à direita, os registros incluindo o cabeçalho. As duas linhas centrais formam um registro. A última contém o erro de colunas.

RFC 4180, section 2

Confira as colunas e os valores originais

Altere a última linha para 002,ok apenas se extra foi acrescentado por engano. Se for um dado real, preserve-o e defina a estrutura do cabeçalho e dos outros registros. Sob essa hipótese, a correção produz 2 linhas de dados e 2 colunas, mantendo a quebra real em note e a string 001 em id.

[
  {"id":"001","note":"first\nsecond"},
  {"id":"002","note":"ok"}
]

Use o botão de localização do erro para conferir a entrada e converter novamente. Aspas não fechadas podem gerar um erro na posição da aspa inicial onde a leitura falhou. Uma quebra final difere de um registro vazio adicional. Preserve o original e confira o delimitador.

Perguntas frequentes

Devo apagar todas as quebras de linha?

Não. Uma quebra pode fazer parte do valor da célula. Neste exemplo, preserve a quebra e corrija as colunas do último registro. Outros programas CSV podem indicar posições ou tratar dialetos diferentes.