преобразовать JSON-список списка в фреймы данных - PullRequest
0 голосов
/ 27 октября 2019

Я новичок в Rstudio и Json, и я хотел бы преобразовать Json в Table / DataFrame, чтобы выполнить анализ. Я работал с таблицами SQL, и Json приводит меня к странным результатам ...

У меня есть 7MB Json, первые две строки которого:

{"dateEnd": "14-01-2016 23:50:00", "lines": [{"_Label": "50", "_Denominacion": "PUERTA DEL SOL/AVENIDA DEL MANZANARES", "_Codigo": "050"}], "id": "6281C683-EA80-43E7-9C76-0F011D23D677", "rsstext": {"_rssFinalDate": "10/02/2016 10:30:00", "RSS_DESCRIPCION": {"_Texto": "El jueves 14 de enero, de 18:00 horas a fin de servicio, la l\u00ednea 50 [Sol - Avenida Manzanares] tendr\u00e1 retenciones y modificaciones en su itinerario, por celebraci\u00f3n de evento deportivo, en el estadio Vicente Calder\u00f3n seg\u00fan su desarrollo y de acuerdo con las restricciones de tr\u00e1fico que realice Polic\u00eda Municipal. \nVer m\u00e1s detalle en documento adjunto."}, "RSS_LEERMAS": {"_Url": "http://feeds.emtmadrid.es:8082/docs/20160114-Calderon[50].pdf"}, "MEDIA": {"_Format": "", "_Type": "", "_AltDescription": "", "_AltTitle": ""}, "RSS_DOCUMENTO": {"_Length": "77444", "_Type": "application/pdf", "_Url": "Y:\\externo\\docs\\20160114-Calderon[50].pdf"}, "RSS_IMAGEN": {"_Url": "Y:\\externo\\images\\900-CGI-icono-RSS_Corporativo.png"}, "_rssItemTitle": "Evento deportivo: Zona Calder\u00f3n. Afectada l\u00ednea 50 de EMT.", "GoogleTransitRealTime": {"_Effect": "05 - Desv\u00edo programado", "_Cause": "12 - Evento deportivo"}}, "dateIni": "14-01-2016 18:00:00"}
{"dateEnd": "14-01-2016 23:00:00", "lines": [{"_Label": "18", "_Denominacion": "PLAZA MAYOR/VILLAVERDE CRUCE", "_Codigo": "018"}, {"_Label": "23", "_Denominacion": "PLAZA MAYOR/EL ESPINILLO", "_Codigo": "023"}, {"_Label": "34", "_Denominacion": "PLAZA DE CIBELES/LAS AGUILAS", "_Codigo": "034"}, {"_Label": "35", "_Denominacion": "PLAZA MAYOR/CARABANCHEL ALTO", "_Codigo": "035"}, {"_Label": "36", "_Denominacion": "ATOCHA/CAMPAMENTO", "_Codigo": "036"}, {"_Label": "62", "_Denominacion": "PRINCIPE PIO/LOS PUERTOS", "_Codigo": "062"}, {"_Label": "116", "_Denominacion": "GLORIETA DE EMBAJADORES/VILLAVERDE CRUCE", "_Codigo": "116"}, {"_Label": "118", "_Denominacion": "GLORIETA DE EMBAJADORES/AVENIDA DE LA PESETA", "_Codigo": "118"}, {"_Label": "119", "_Denominacion": "ATOCHA/BARRIO DE GOYA", "_Codigo": "119"}], "id": "4ACED29E-45B9-411F-8187-52C1CD575CD7", "rsstext": {"_rssFinalDate": "10/02/2016 10:30:00", "RSS_DESCRIPCION": {"_Texto": "El jueves 14 de enero, de 22:30 a 23:30 horas aproximadamente, las l\u00edneas 18, 23, 34, 35, 36, 62, 116, 118 y 119 tendr\u00e1n retenciones y modificaciones en sus itinerarios, por celebraci\u00f3n de evento deportivo, en el estadio Vicente Calder\u00f3n seg\u00fan su desarrollo y de acuerdo con las restricciones de tr\u00e1fico que realice Polic\u00eda Municipal.\nVer m\u00e1s detalle en documento adjunto."}, "RSS_LEERMAS": {"_Url": "http://feeds.emtmadrid.es:8082/docs/20160114-Calderon.pdf"}, "MEDIA": {"_Format": "", "_Type": "", "_AltDescription": "", "_AltTitle": ""}, "RSS_DOCUMENTO": {"_Length": "340034", "_Type": "application/pdf", "_Url": "Y:\\externo\\docs\\20160114-Calderon.pdf"}, "RSS_IMAGEN": {"_Url": "Y:\\externo\\images\\900-CGI-icono-RSS_Corporativo.png"}, "_rssItemTitle": "Evento deportivo: Zona Calder\u00f3n. Afectadas 9 l\u00edneas de EMT.", "GoogleTransitRealTime": {"_Effect": "05 - Desv\u00edo programado", "_Cause": "12 - Evento deportivo"}}, "dateIni": "14-01-2016 22:30:00"}

Мне нужно преобразовать этот Jsonв фрейм данных с правильными именами выбранных столбцов:

Я уже импортировал JSON, используя библиотеки rjson и lapply, например:

jsonToList<-lapply(readLines("C:/Users/zanmar/Desktop/exportincid.json"), fromJSON)
df<-data.frame()

Я думаю, что лучшеЧтобы достичь этого, нужно создать различные фреймы данных, чтобы объединить их по ключу «id» и, наконец, получить полную таблицу.

Как получить таблицу ниже, где "line.label" - это разные метки "line"?

id line.label
"6281C683-EA80-43E7-9C76-0F011D23D677" "50"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "18"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "23"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "34"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "35"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "36"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "62"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "116"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "118"
"4ACED29E-45B9-411F-8187-52C1CD575CD7" "119"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...