Trabajar con archivos JSON en la programación R

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        "

Publicación traducida automáticamente

Artículo escrito por shaonim8 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *