R语言教程:JSON 文件

2022-08-0219:11:10编程语言入门到精通Comments1,276 views字数 1193阅读模式

JSON: JavaScript Object Notation(JavaScript 对象表示法)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

JSON 是存储和交换文本信息的语法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

JSON 类似 XML,但比 XML 更小、更快,更易解析。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

R 语言读写 JSON 文件需要安装扩展包,我们可以在 R 到控制台输入以下命令来安装:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")

查看是否安装成功:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

> any(grepl("rjson",installed.packages()))
[1] TRUE

创建 sites.json 文件,json 文件与测试脚本同一目录下,代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

实例

{ "id":["1","2","3"], "name":["Google","Runoob","Taobao"], "url":["www.google.com","www.runoob.com","www.taobao.com"], "likes":[ 111,222,333] }

接下来我们可以使用 rjson 包来载入 json 文件的数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

查看数据,某一行使用 [ ], 指定的行和列使用 [[ ]]:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

实例

# 载入 rjson 包
library("rjson")文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

# 获取 json 数据
result <- fromJSON(file = "sites.json")文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

# 输出结果
print(result)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

print("===============")文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

# 输出第 1 列的结果
print(result[1])文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

print("===============")
# 输出第 2 行第 2 列的结果
print(result[[2]][[2]])文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

执行以上代码输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

$id
[1] "1" "2" "3"

$name
[1] "Google" "Runoob" "Taobao"

$url
[1] "www.google.com" "www.runoob.com" "www.taobao.com"

$likes
[1] 111 222 333

[1] "==============="
$id
[1] "1" "2" "3"

[1] "==============="
[1] "Runoob"

我们也可以使用 as.data.frame() 函数将 json 文件数据可以转为数据框类型,这样我们就更方便对数据进行操作:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

实例

# 载入 rjson 包
library("rjson")文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

# 获取 json 数据
result <- fromJSON(file = "sites.json")文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

# 转为数据框
json_data_frame <- as.data.frame(result)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

print(json_data_frame)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

执行以上代码输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html

  id   name            url likes
1  1 Google www.google.com   111
2  2 Runoob www.runoob.com   222
3  3 Taobao www.taobao.com   333
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26442.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26442.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定