R语言XML格式数据导入与处理 – ShangFR

数据解析

XML是一种可扩展标记语言,它被设计用来传输和存储数据。XML是各种应用程序之间进行数据传输的最常用的工具。它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,它仅仅是存储数据。事实上它与其他数据表现形式最大的不同是:它极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同。

针对xml格式数据,r语言xml包可以对其进行数据导入与处理,详见下面的案例说明。

案例1

直接输入一段标记语言文本,使用XML包解析。

library(XML)tt =  'texta phrase'doc = xmlParse(tt)xmlToList(doc)# use an R-level node representationdoc = xmlTreeParse(tt)xmlToList(doc)

登录后复制

案例2

导入已有的xml格式数据并处理,本案例用到的是手机通讯录xml数据,按如下步骤操作:

#读取xml格式数据并解析xmlfile=xmlParse(file.choose(),encoding="UTF-8") class(xmlfile)#形成根目录列表数据xmltop = xmlRoot(xmlfile) class(xmltop) #查看类xmlName(xmltop) #查看根目录名xmlSize(xmltop) #查看根目录总数xmlName(xmltop[[1]]) #查看子目录名# 查看第一个子目录xmltop[[1]]# 查看第二个子目录xmltop[[2]]#子目录节点xmlSize(xmltop[[1]]) #子目录节点数xmlSApply(xmltop[[1]], xmlName) #子目录节点名xmlSApply(xmltop[[1]], xmlAttrs) #子目录节点属性xmlSApply(xmltop[[1]], xmlSize) #子目录节点大小#查看第一个子目录的第一个节点xmltop[[1]][[1]]#查看第一个子目录的第二个节点xmltop[[1]][[2]]#第二个子目录xmltop[[2]][[1]]xmltop[[2]][[2]]xmltop[[1]][[3]][[1]][[1]] #查看联系人电话xmltop[['Contact']][['PhoneList']][[1]][[1]]  #第二种方式getNodeSet(xmltop, "//Contact/PhoneList")[[1]][[1]][[1]] #第三种方式xmltop[[1]][[3]][[1]][[1]] = 13717232323 #更改联系人电话xmltop[[1]][[1]][[1]]= "zhangsan "#更改联系人姓名#保存saveXML(xmltop, file="out.xml",encoding="UTF-8")

登录后复制

xml格式转dataframe

按如下步骤操作:

xmlToDataFrame(xmlfile) #第一种方式,直接用xmlToDataFrame()函数library("plyr") #第二种方式,数据格式处理专用包plyrMyContact=ldply(xmlToList(file.choose()), data.frame) #先转成list,再转dataframeView(MyContact)# 查看联系方式MyContact[,c("Name" ,"PhoneList.Phone.text")]# 联系方式保存write.csv(MyContact, "MyContact.csv", row.names=FALSE)

登录后复制

反馈与建议

以上就是R语言XML格式数据导入与处理 – ShangFR的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2419964.html

(0)
上一篇 2025年3月3日 03:11:40
下一篇 2025年2月26日 06:17:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • XML包导入和处理XML数据格式|R包

    什么是XML? • XML 指可扩展标记语言(EXtensible Markup Language)• XML 是一种标记语言,很类似 HTML• XML 的设计宗旨是传输数据,而非显示数据• XML 标签没有被预定义。您需要自行定义标签。…

    2025年3月3日
    200
  • XML的解析

    昨天说了json解析,今天来看一下xml解析。在开发中需要对xml解析也是很常见的,跟json一样,大同小异。 XML 是可扩展标记语言(Extensible Markup Language)的缩写。 XML元素是XML文件内容的基本单元。…

    2025年3月3日 编程技术
    200
  • XML文件导入EXCEL

    一、xml(可扩展标记语言)文件的建立 370322200202张C55796656山东省2563001312886公民不匹配370322200126张C55797528山东省25630013182886公民不匹配370322200219闫…

    2025年3月3日
    200
  • XML Sitemap 相关问题

    XML Sitemap 的主要作用是让搜索引擎特别是 Google 更好地收录网站所有 URL。关于 XML Sitemap 的常见问题包括: 1、如果没有 XML Sitemap,对被收录会有影响吗? XML Sitemap 是为了让你的…

    编程技术 2025年3月3日
    200
  • 从无到有实现一个xml数据库登录验证

            這兩天﹐對xml作為數據庫產生了興趣﹐找了一些資料﹐也搞出了一點眉目﹐在這里記錄一下。算是對自己學習xml的一個小結吧。技朮內容不是很強﹐高手大俠們就不需看了。呵呵….        不多說廢話﹐咱們程序員最注重…

    编程技术 2025年3月3日
    200
  • XML 增、删、改和查示例

    1.已知有一个xml文件(bookstore.xml)如下:       Oberon’s Legacy    Corets, Eva    5.95   登录后复制   1、往节点中插入一个节点:    XmlDocument xmlDo…

    编程技术 2025年3月3日
    200
  • .NET中书写XML的一种简单方法

    xml是一项热门的技术。它之所以能够引起人们的兴趣,一个主要的原因在于它十分的简单,人们可以很容易地理解和使用它。每一个程序员都能轻易地看懂一个xml文件,理解它包含的内容。 .NET中包含了很多支持XML的类,这些类使得程序员使用XML编…

    编程技术 2025年3月3日
    200
  • 利用XMLBean轻轻松松读写XML

    一、关于xml解析   XML在java应用程序里变得越来越重要, 广泛应用于数据存储和交换. 比如我们常见的配置文件,都是以XML方式存储的. XML还应用于Java Message Service和Web Services等技术作为数据…

    编程技术 2025年3月3日
    200
  • XML中的模式Schema代码详细介绍(图)

    xml中拥有schema特性,能够比dtd更加强大地引入元素结构,下面我们就来详解xml中的模式schema的概念及作用和用法,需要的朋友可以参考下 文档定义模型为XML文档提供了规范,DTD的引入虽然解决了XML文档的规范化问题,但它文件…

    2025年3月3日
    200
  • 浅谈XML文档的阅读与编辑

    这篇文章主要介绍了xml文件的阅读与编辑,最常用的工具当然还是浏览器中的控制台与源代码查看,需要的朋友可以参考下  阅读器以使用简单的文本编辑器或者任意浏览器查看 XML 文档。大多数主流浏览器都支持 XML。可以通过双击 XML 文档(如…

    2025年3月3日 编程技术
    200

发表回复

登录后才能评论