R语言 使用R下载和解析JSON
在这篇文章中,我们将学习如何使用R编程语言下载和解析JSON。
JavaScript Object Notation被称为JSON。这些文件有文本形式的数据,可供人类阅读。JSON文件是开放的,可以像其他文件一样进行阅读和写作。必须安装 “rjson “包,以便在R中处理JSON文件。
在R中运行下面的命令来安装rjson包。
install.packages("rjson")
读取JSON文件
R中的JSON文本被包围在大括号中,周围有字符串。rjson包中的 fromJSON() 方法用于将JSON数据转换为文本字符串,并默认以字符串列表的方式返回数据。它在参数中接受JSON文件作为输入。每个键成为标题,它们所对应的值在行号下显示为字符串。这个方法执行JSON数据的反序列化。它将数据转换为一个等价的R对象。
语法: fromJSON(json-file)
# Importing rjson library
library("rjson")
# Declaring the json text
json_text <- '{
"ID": ["1", "2", "3", "4", "5"],
"User_name": ["A", "B", "C", "D", "E"],
"Marks": [34, 64, 24, 68, 76],
"Branch": ["Commerce", "Science", "Humanities", "Non-medical", "Humanities"]
}'
# Reading the json text
data <- fromJSON(json_text)
# Printing json data
print("JSON data")
print(data)
输出
[1] "JSON data"
> print(data)
ID
[1] "1" "2" "3" "4" "5"User_name
[1] "A" "B" "C" "D" "E"
Marks
[1] 34 64 24 68 76Branch
[1] "Commerce" "Science" "Humanities" "Non-medical" "Humanities"
将JSON文件转换为数据框架
JSON文本也可以转换为一个数据框架。这个R对象可以用来在一个更有组织的表格结构中对数据进行可视化。在将JSON文件转换为列表格式后,通过使用 as.data.frame() 方法将其转换为数据帧,该方法将其强制转换成数据帧对象。JSON文本的键被显示为数据框架的列标题,值是单元格的值。
语法:as.data.frame(list )
# Import rjson package
library("rjson")
# Declaring the json text
json_text <- '{
"ID":["1","2","3","4","5" ],
"User_name":["A","B","C","D","E" ],
"Marks":[34,64,24,68,76],
"Branch":[ "Commerce","Science",
"Humanities","Non-medical","Humanities"]
}'
# Reading the json text
data <- fromJSON(json_text)
# Converting data into data frame
data_frame <- as.data.frame(data)
print("JSON dataframe")
print(data_frame)
输出
[1] "JSON dataframe"
> print(data_frame)
ID User_name Marks Branch
1 1 A 34 Commerce
2 2 B 64 Science
3 3 C 24 Humanities
4 4 D 68 Non-medical
5 5 E 76 Humanities
在R中下载JSON
在JSON数据被转换为数据框架后,可以使用R中的 write.csv() 方法将数据框架写入CSV文件中。如果提供的是数据框架对象,它将被复制到相应的位置。然后可以在本地工作空间内轻松地查看它。R语言中的write.csv()方法有以下语法。
语法:write.csv(data, path)
参数 :
data – 要写入CSV文件的数据。
path – 要存储CSV的路径。
# Importing rjson library
library("rjson")
# Declaring the json text
json_text <- '{
"ID":["1","2","3","4","5" ],
"User_name":["A","B","C","D","E" ],
"Marks":[34,64,24,68,76],
"Branch":[ "Commerce","Science",
"Humanities","Non-medical","Humanities"]
}'
# Reading the json text
data <- fromJSON(json_text)
# Converting data into data frame
data_frame <- as.data.frame(data)
# Writing data into csv file
write.csv(data_frame,
"/Users/mallikagupta/Desktop/json_download.csv")
输出
上述代码的输出是一个CSV文件,存储在参数中给出的位置(”/Users/mallikagupta/Desktop/json_download.csv”)。
下载的CSV文件