Конвертировать json файл с несколькими строками в R-кадр - PullRequest
0 голосов
/ 19 февраля 2020

Я использую jsonr для чтения файла JSON в R. Однако команда fromJSON(file="file.json") читает только первую строку файла. Вот JSON:

{"id":"a","emailAddress":"a@a.com","name":"abc"}
{"id":"b","emailAddress":"b@b.com","name":"def"}
{"id":"c","emailAddress":"c@c.com","name":"ghi"}

Как получить все 3 строки в кадре данных R? Обратите внимание, что вышеуказанный контент находится в одном файле.

1 Ответ

1 голос
/ 19 февраля 2020

Я нашел хакерский способ сделать это; Сначала я читаю весь файл / строку с помощью readr, затем делю данные по новым строкам "\ n", и, наконец, я анализирую каждую строку с JSON, а затем связываю ее в один фрейм данных:

library(jsonlite)
library(readr)

json_raw   <- readr::read_file("file.json")
json_lines <- unlist(strsplit(json_raw, "\\n"))
json_df    <- do.call(rbind, lapply(json_lines, 
                                  FUN = function(x){as.data.frame(jsonlite::fromJSON(x))}))
...