лексическая ошибка: неверные байты в строке UTF8 - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь использовать приведенный ниже код для извлечения данных из файла json.Однако возвращается следующая ошибка:

Error: lexical error: invalid bytes in UTF8 string.
          fr":"Ces données sont publiées avec un délai de cinq jours
                     (right here) ------^

Проверка файла json в моем браузере показывает, что данные выглядят так:

"fr":"Ces donn\u00e9es sont publi�es avec un d\u00e9lai de cinq jours."

Существует ли способ записи данных приигнорировать любые строки UTF8, которые вызывают ошибку?

library(jsonlite)

URL <- paste0("https://www.energy-charts.de/power_unit/month_lignite_unit_2017_12.json")

data <- fromJSON(getURL(URL))

1 Ответ

0 голосов
/ 11 февраля 2019

Проблема в том, что URL возвращает данные в кодировке latin1, и ваша система по умолчанию считывает их как UTF-8.Вы можете получить его правильно, используя

library(jsonlite)
library(RCurl)  

URL <- "https://www.energy-charts.de/power_unit/month_lignite_unit_2017_12.json"

data <- fromJSON(getURL(URL, encoding = "latin1"))

Я также исправил некоторые незначительные ошибки в вашем коде: вы забыли запросить RCurl, и paste0 не был необходим.

...