R语言 使用JSON文件

R语言 使用JSON文件

JSONJavaScript Object Notation 的缩写 , 这些文件包含人类可读格式的数据,即文本。像任何其他文件一样,人们可以读取和写入JSON文件。为了在R中处理JSON文件,人们需要安装 “rjson “包。在rjson包下使用JSON文件最常见的任务如下。

  • 在R控制台安装并加载rjson包
  • 创建一个JSON文件
  • 从JSON文件中读取数据
  • 写入JSON文件
  • 将JSON数据转换为数据帧
  • 使用URL工作

安装和加载rjson包

人们可以从R控制台使用 install.packages() 命令以如下方式安装rjson。

install.packages("rjson")

在安装了rjson包后,必须使用 library() 函数加载该包,如下所示。

library("rjson")

创建一个JSON文件

要创建一个JSON文件,可以做以下步骤。

  • 将下面的数据复制到记事本文件或任何文本编辑器文件中。人们也可以按照给定的格式创建自己的数据。
{ 
       "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"]
    }
  • 选择 “所有类型 “ 作为文件类型,并以 .json 为扩展名保存文件(例如: example.json)。
  • 必须确保信息或数据包含在一对或大括号{ }内。

读取一个JSON文件

在R中,读取JSON文件是一项非常简单的任务。人们可以使用 fromJSON() 函数非常有效地提取和读取JSON文件的数据。 fromJSON() 函数接收JSON文件并默认以列表格式返回从JSON文件中提取的数据。

例子

假设上述数据存储在E盘中一个名为 example.json 的文件中。为了读取该文件,我们必须编写以下代码。

# 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)

输出

$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"

写入JSON文件

在将数据写入JSON文件之前,人们需要使用 toJSON() 函数创建一个JSON对象。使用 write() 函数来写入JSON文件。

例子:

# 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)

输出

[[1]]
[1] "sunflower" "guava"     "hibiscus"

[[2]]
[1] "flower" "fruit"  "flower"

将JSON数据转换为数据框架

在R中,要把从JSON文件中提取的数据转换成数据框,可以使用 as.data.frame() 函数。

例子

# 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)

输出

  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

利用URL工作

人们可以从任何网站获取数据集,提取数据并使用它们。这可以在两个包中的任何一个完成,即 RJSONIOjsonlite。

例子

# 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)

输出

[1] "LUCKY MART             " "CUMBERLAND FARMS 1587  "
[3] "K&M SPORTS             " "MASON&OLD RIDGE FARM   "
[5] "HAMPTON CHUTNEY CO     " "CM - HUTCHINSON        "

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程