Go: encoding / csv: analisa registros incorretamente com \ r como o separador de registro

Criado em 29 abr. 2014  ·  3Comentários  ·  Fonte: golang/go

Antes de registrar um bug, verifique se ele foi corrigido desde o
 Último lançamento. Pesquise o rastreador de problemas e verifique se você está executando o
 versão mais recente do Go:

 Execute "go version" e compare com
 http://golang.org/doc/devel/release.html Se houver uma versão mais recente do Go,
 instale-o e tente novamente o que você fez para reproduzir o problema.

 Obrigado.

 O que a 'versão go' imprime?
 go versão go1.2.1 darwin / amd64

 (o bug provavelmente está em outras versões, visto que src / pkg / encoding / csv / reader.go
 explicitamente não 
 identificador e único \ r (linhas 180-193)


 Quais etapas reproduzem o problema?
 Se possível, inclua um link para um programa em play.golang.org.

 http://play.golang.org/p/dr_cz65h_u

 (alterar o delimitador para \ n corrige o problema

 1. Leia um arquivo CSV com \ r como o delimitador de registro


 O que aconteceu?
 http://play.golang.org/p/dr_cz65h_u

 Grave 0, [] string {"Um", "Dois", "Três \ rQuatro",
 "Cinco", "Seis \ rSeven", "Oito", "Nove"}


 O que deveria ter acontecido em vez disso?

 Grave 0, [] string {"Um", "Dois", "Três"}
 Grave 1, [] string {"Quatro", "Cinco", "Seis"}
 Registro 2, [] string {"Sete", "Oito", "Nove"}


 Por favor, forneça quaisquer informações adicionais abaixo.
FrozenDueToAge Unfortunate

Comentários muito úteis

aarrggrggrgrgrg! Tenho certeza de que estou gritando contra o vento aqui, mas a solução óbvia seria adicionar um campo ao leitor para denotar o tipo de final de linha esperado ou mesmo adicionar uma opção para lidar com qualquer um deles. .csvs de ambos os tipos existem há dez anos. Existem muitas, muitas maneiras de lidar com isso sem quebrar a compatibilidade com versões anteriores

Todos 3 comentários

Esta página foi útil?
0 / 5 - 0 avaliações