JSON significa Notación de objetos de JavaScript. Estos archivos contienen los datos en formato legible por humanos, es decir, como texto. Como cualquier otro archivo, uno puede leer y escribir en los archivos JSON. Para trabajar con archivos JSON en R, es necesario instalar el paquete «rjson» . Las tareas más comunes realizadas con archivos JSON en paquetes rjson son las siguientes:
- Instale y cargue el paquete rjson en la consola R
- Crear un archivo JSON
- Lectura de datos del archivo JSON
- Escribir en un archivo JSON
- Convertir los datos JSON en marcos de datos
- Trabajando con URL
Instalar y cargar el paquete rjson
Uno puede instalar el rjson desde la consola R usando el install.packages()
comando de la siguiente manera:
install.packages("rjson")
Después de instalar el paquete rjson, debe cargar el paquete usando la library()
función de la siguiente manera:
library("rjson")
Crear un archivo JSON
Para crear un archivo JSON, se pueden realizar los siguientes pasos:
- Copie los datos que se proporcionan a continuación en un archivo de bloc de notas o en cualquier archivo de editor de texto. También se pueden crear sus propios datos según el formato dado.
{ "ID":["1","2","3","4","5"], "Name":["Mithuna","Tanushree","Parnasha","Arjun","Pankaj"], "Salary":["722.5","815.2","1611","2829","843.25"], "StartDate":["6/17/2014","1/1/2012","11/15/2014","9/23/2013","5/21/2013"], "Dept":["IT","IT","HR","Operations","Finance"] }
- Elija » todos los tipos » como tipo de archivo y guarde el archivo con la extensión .json . (Ejemplo: ejemplo.json)
- Uno debe asegurarse de que la información o los datos estén contenidos entre un par o llaves { } .
Lectura de un archivo JSON
En R, leer un archivo JSON es una tarea bastante simple. Uno puede extraer y leer los datos de un archivo JSON de manera muy eficiente usando la fromJSON()
función. La fromJSON()
función toma el archivo JSON y devuelve los datos extraídos del archivo JSON en el formato de lista predeterminado.
Ejemplo:
Suponga que los datos anteriores se almacenan en un archivo llamado ejemplo.json en la unidad E. Para leer el archivo debemos escribir el siguiente código.
# Read a JSON file # Load the package required to read JSON files. library("rjson") # Give the input file name to the function. result <- fromJSON(file = "E:\\example.json") # Print the result. print(result)
Producción:
$ID [1] "1" "2" "3" "4" "5" $Name [1] "Mithuna" "Tanushree" "Parnasha" "Arjun" "Pankaj" $Salary [1] "722.5" "815.2" "1611" "2829" "843.25" $StartDate [1] "6/17/2014" "1/1/2012" "11/15/2014" "9/23/2013" "5/21/2013" $Dept [1] "IT" "IT" "HR" "Operations" "Finance"
Escribir en un archivo JSON
Uno necesita crear un objeto JSON usando toJSON()
la función antes de escribir los datos en un archivo JSON. Para escribir en un archivo JSON use la write()
función.
Ejemplo :
# Writing into JSON file. # Load the package required to read JSON files. library("rjson") # creating the list list1 <- vector(mode="list", length=2) list1[[1]] <- c("sunflower", "guava", "hibiscus") list1[[2]] <- c("flower", "fruit", "flower") # creating the data for JSON file jsonData <- toJSON(list1) # writing into JSON file write(jsonData, "result.json") # Give the created file name to the function result <- fromJSON(file = "result.json") # Print the result print(result)
Producción:
[[1]] [1] "sunflower" "guava" "hibiscus" [[2]] [1] "flower" "fruit" "flower"
Convertir los datos JSON en marcos de datos
En R, para convertir los datos extraídos de un archivo JSON en un marco de datos, se puede usar la as.data.frame()
función.
Ejemplo:
# Convert the file into dataframe # Load the package required to read JSON files. library("rjson") # Give the input file name to the function. result <- fromJSON(file = "E://example.json") # Convert JSON file to a data frame. json_data_frame <- as.data.frame(result) print(json_data_frame)
Producción:
ID Name Salary StartDate Dept 1 1 Mithuna 722.5 6/17/2014 IT 2 2 Tanushree 815.2 1/1/2012 IT 3 3 Parnasha 1611 11/15/2014 HR 4 4 Arjun 2829 9/23/2013 Operations 5 5 Pankaj 843.25 5/21/2013 Finance
Trabajando con URL
Uno puede tomar conjuntos de datos de cualquier sitio web y extraer los datos y usarlos. Esto se puede hacer con cualquiera de los dos paquetes, a saber, RJSONIO y jsonlite .
Ejemplo:
# working with URLs # import required library library(RJSONIO) # extracting data from the website Raw <- fromJSON( "https://data.ny.gov/api/views/9a8c-vfzj/rows.json?accessType=DOWNLOAD") # extract the data node food_market <- Raw[['data']] # assembling the data into data frames Names <- sapply(food_market, function(x) x[[14]]) head(Names)
Producción:
[1] "LUCKY MART " "CUMBERLAND FARMS 1587 " [3] "K&M SPORTS " "MASON&OLD RIDGE FARM " [5] "HAMPTON CHUTNEY CO " "CM - HUTCHINSON "