Ответ 1
Ваш CSV может быть закодирован в UTF-16. Это не редкость при работе с некоторыми инструментами на базе Windows.
Вы можете попробовать загрузить UTF-16 CSV следующим образом:
read.csv("mycsv.csv", ..., fileEncoding="UTF-16LE")
Я читал в CSV файле.
Код:
mydata = read.csv("mycsv.csv", header=True, sep=",", quote="\"")
Получить следующее предупреждение:
Предупреждающее сообщение: В
scan(file = file, what = what, sep = sep, quote = quote, dec = dec
: встроенные nul (s), найденные во входе
Теперь некоторые ячейки в моем CSV имеют отсутствующие значения, которые представлены символом "".
Как написать этот код, чтобы я не получил вышеуказанное предупреждение?
Ваш CSV может быть закодирован в UTF-16. Это не редкость при работе с некоторыми инструментами на базе Windows.
Вы можете попробовать загрузить UTF-16 CSV следующим образом:
read.csv("mycsv.csv", ..., fileEncoding="UTF-16LE")
Вы можете попробовать использовать опцию skipNul = TRUE
.
mydata = read.csv("mycsv.csv", quote = "\"", skipNul = TRUE)
От ?read.csv
Встроенные nuls во входном потоке завершат текущее чтение поля с предупреждением один раз для каждого вызова для сканирования. Установка
skipNul = TRUE
заставляет их игнорировать.
Это сработало для меня.
Может быть файл, который не имеет CRLF, может иметь только LF. Попробуйте проверить вывод HEX файла.
Если это так. Попробуйте запустить файл через awk:
awk '{printf "%s\r\n", $0}' file > new_log_file
У меня было такое же сообщение об ошибке, и я понял, что хотя мои файлы имеют расширения .csv и открываются без проблем в электронной таблице, они фактически были сохранены как "Все форматы", а не ¨Text CSV (.csv) ¨
В этих случаях убедитесь, что данные, которые вы импортируете, не имеют символов "#", но если этот случай попробует использовать параметр comment.char=""
. Это сработало для меня.