2014-09-26 2 views
0

Попытка чтения CSV-форматированных данных в javascript с использованием библиотеки jquery-csv, но я получаю ошибку CSVDataError: Illegal Data от символа ^M в конце каждой строки.Удалить^M из CSV-файла

Кажется, что независимо от того, как сохраняется CSV, я получаю это ^M. Я могу увидеть только ^M, если я открою файл CSV в vim, даже в текстовом редакторе или моей IDE данные выглядят нормально. Я не получаю эту проблему при работе на других языках, таких как Python или R.

Я работаю над средой Mac.

Как я могу исправить это и избежать этой проблемы в будущем?

ответ

1
  1. Используйте dos2unix для преобразования.
  2. Неверно, что «независимо от того, как он сохраняется», CR (^ M - возврат каретки) добавляется. Например, echo 'a,b,c' > letters.csv не добавляет CR. Проверьте настройки текстового редактора.
0

Взгляните на страницу splitlines algorithm на странице jquery-csv, она, как представляется, обеспечивает функцию, которая очистит эти проблемные каретки для вас.

+0

Как реализовать этот алгоритм splitLines? – brno792

+0

Реализация уже предоставлена ​​для вас на этой странице. – TML

+0

Итак, после того как я прочитал данные csv в javascript, я вызываю эту функцию, а затем передаю результат в мою функцию csv.toArrays()? – brno792

0

Предполагая, что ^M указывает возврат каретки в стиле mac, поддержка возврата каретки была включена в предыдущий выпуск, поэтому ваш код должен работать.

Источник: Я автор JQuery-Csv

Смежные вопросы