小白教程
所有教程
关于
Search
172.70.126.9
172.70.126.9
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“R XML 文件”的源代码
本页内容
上一节:
R_Excel_文件
下一节:
R_JSON_文件
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:R XML 文件}}[[Category:R 教程|20]] = R XML 文件 = XML 指的是可扩展标记语言(eXtensible Markup Language),XML 被设计用来传输和存储数据。 如果你对 XML 还不了解,可以先查阅:[https://www.xiaobai.wang/xml/xml-tutorial.html XML 教程] R 语言读写 XML 文件需要安装扩展包,我们可以在 R 到控制台输入以下命令来安装: <sample title="" desc="" lang="r" hererun="1"> install.packages("XML", repos = "https://mirrors.ustc.edu.cn/CRAN/") </sample> 查看是否安装成功: <sample title="" desc="" lang="r" hererun="1"> > any(grepl("XML",installed.packages())) [1] TRUE </sample> 创建 sites.xml 文件,xml 文件与测试脚本同一目录下,代码如下: <sample title="" desc="" lang="r" hererun="1"> <sites> <site> <id>1</id> <name>Google</name> <url>www.google.com</url> <likes>111</likes> </site> <site> <id>2</id> <name>xiaoBai</name> <url>www.xiaobai.wang</url> <likes>222</likes> </site> <site> <id>3</id> <name>Taobao</name> <url>www.taobao.com</url> <likes>333</likes> </site> </sites> </sample> 接下来我们可以使用 XML 包来载入 xml 文件的数据: <sample title="" desc="" lang="r" hererun="1"> # 载入 XML 包 library("XML") # 设置文件名 result <- xmlParse(file = "sites.xml") # 输出结果 print(result) </sample> 统计 xml 数据量: <sample title="" desc="" lang="r" hererun="1"> # 载入 XML 包 library("XML") # 设置文件名 result <- xmlParse(file = "sites.xml") # 提取根节点 rootnode <- xmlRoot(result) # 统计数据量 rootsize <- xmlSize(rootnode) # 输出结果 print(rootsize) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> [1] 3 </sample> 查看节点数据,某一行使用 [ ], 指定的行和列使用 [[ ]]: <sample title="" desc="" lang="r" hererun="1"> # 载入 XML 包 library("XML") # 设置文件名 result <- xmlParse(file = "sites.xml") # 提取根节点 rootnode <- xmlRoot(result) # 查看第 2 个节点数据 print(rootnode[2]) # 查看第 2 个节点的第 1 个数据 print(rootnode[[2]][[1]]) # 查看第 2 个节点的第 3 个数据 print(rootnode[[2]][[3]]) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> $site <site> <id>2</id> <name>xiaoBai</name> <url>www.xiaobai.wang</url> <likes>222</likes> </site> attr(,"class") [1] "XMLInternalNodeList" "XMLNodeList" <id>2</id> <url>www.xiaobai.wang</url> </sample> === XML 转为数据列表 === 以上代码对输出都是 xml 格式,我们使用 xmlToList() 函数可以将文件对数据转为列表格式,更方便读取: <sample title="" desc="" lang="r" hererun="1"> # 载入 XML 包 library("XML") # 设置文件名 result <- xmlParse(file = "sites.xml") # 转为列表 xml_data <- xmlToList(result) print(xml_data) print("============================") # 输出第一行第二列的数据 print(xml_data[[1]][[2]]) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> $site $site$id [1] "1" $site$name [1] "Google" $site$url [1] "www.google.com" $site$likes [1] "111" $site $site$id [1] "2" $site$name [1] "xiaoBai" $site$url [1] "www.xiaobai.wang" $site$likes [1] "222" $site $site$id [1] "3" $site$name [1] "Taobao" $site$url [1] "www.taobao.com" $site$likes [1] "333" [1] "============================" [1] "Google" </sample> === XML 转为数据框 === XML 文件数据可以转为数据框类型,这样我们就更方便对数据进行操作: <sample title="" desc="" lang="r" hererun="1"> # 载入 XML 包 library("XML") # xml 文件数据转为数据框 xmldataframe <- xmlToDataFrame("sites.xml") print(xmldataframe) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> id name url likes 1 1 Google www.google.com 111 2 2 xiaoBai www.xiaobai.wang 222 3 3 Taobao www.taobao.com 333 </sample>
返回至“
R XML 文件
”。
上一节:
R_Excel_文件
下一节:
R_JSON_文件