Go: encoding / csv: неправильный синтаксический анализ записей с \ r в качестве разделителя записей

Созданный на 29 апр. 2014  ·  3Комментарии  ·  Источник: golang/go

Перед тем, как зарегистрировать ошибку, проверьте, была ли она исправлена ​​с момента
 последний релиз. Найдите средство отслеживания проблем и убедитесь, что вы используете
 последняя версия Go:

 Запустите "go version" и сравните с
 http://golang.org/doc/devel/release.html Если существует более новая версия Go,
 установите его и повторите то, что вы сделали, чтобы воспроизвести проблему.

 Спасибо.

 Что печатает 'go version'?
 версия go1.2.1 darwin / amd64

 (ошибка, вероятно, есть в других версиях, учитывая, что src / pkg / encoding / csv / reader.go
 ясность не 
 ручка и одинарный \ r (строки 180-193)


 Какие шаги воспроизводят проблему?
 Если возможно, включите ссылку на программу на play.golang.org.

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

 (изменение разделителя на \ n устраняет проблему

 1. Прочтите CSV-файл с \ r в качестве разделителя записи.


 Что случилось?
 http://play.golang.org/p/dr_cz65h_u

 Запись 0, [] строка {"One", "Two", "Three \ rFour",
 «Пятерка», «Шесть \ rSeven», «Восемь», «Девять»}


 Что должно было произойти вместо этого?

 Запись 0, [] строка {"Один", "Два", "Три"}
 Запись 1, [] строка {"Четыре", "Пять", "Шесть"}
 Запись 2, [] строка {"Семь", "Восьмерка", "Девять"}


 Пожалуйста, укажите дополнительную информацию здесь.
FrozenDueToAge Unfortunate

Самый полезный комментарий

aarrggrggrgrgrg! Я уверен, что здесь я просто кричу на ветер, но очевидным решением было бы добавить поле для считывателя, чтобы обозначить тип ожидаемого окончания строки, или даже добавить вариант, с которым можно справиться. Файлы .csv обоих типов существуют уже 10 лет. Есть много-много способов справиться с этим без нарушения обратной совместимости.

Все 3 Комментарий

Была ли эта страница полезной?
0 / 5 - 0 рейтинги