zoukankan      html  css  js  c++  java
  • 优达学城数据分析师纳米学位——P3项目知识点整理及代码分析 xml文件解析

    The ElementTree XML API

     在廖雪峰的博客中提到:

    start_element  char_data  end_element 的处理思路,关注起始点,数据内容,终止点。

    操作XML有两种方法:DOM和SAX。DOM会把整个XML读入内存,解析为树,因此占用内存大,解析慢,优点是可以任意遍历树的节点。SAX是流模式,边读边解析,占用内存小,解析快,缺点是我们需要自己处理事件。

    正常情况下,优先考虑SAX,因为DOM实在太占内存。

    element 是一种数据类型,介于List 类型和 Dictionary 类型之间,可以包含 一个tag 标签来表示数据实际的含义,几个属性,一个text string 来显示属性,optionla tail string尾注,几个孩子元素(child elements)

    1.1 XML tree and Elements 

    XML is an inherently hierarchiacal data format, 树形结构存储相关数据,文件操作多为element tree 级别的变化,结点的变动多为element 级别的变化

    2. Parse XML 

         多种数据导入方法

    root.tag  root.attribut  root.text 可以直接查看相关数据

    for child in root:
        print child.tag, child.attrib

     同时可以通过索引来查看孩子元素的相关数据, 例如:root[0][1].text

    3.找到某一个元素

    method: iter(), findall(), find(), get(),

    Element.iter()遍历所有的相关数据(包括孩子元素及孩子元素的孩子元素) 

    Element.findall() 找所有直系的孩子元素(direct children of the current element)

    Element.find() 只找第一个孩子元素 first child

    Element.get() 可以access 数据的属性

    4.修改XML文件

    Element.write() 可以 build XML documents and write them to files

    attibutes 可以通过Element.set()修改  

    添加新的 child element 可以通过 Element.append()命令

    移除某一个element, 可以通过Element.remove() 命令,同时可以利用if 语句作为筛选条件, 同时注意int() 命令进行数据类型的转换。

    实现 rank text 分别+1, 增添新属性 updated: yes, 生成新文件 output.xml

    5. 通过ET.Element 命令来创建新的XML 文档,属于暴力添加

  • 相关阅读:
    与ORA-28000: the account is locked-的解决办法
    Oracle建库
    批量将PowerDesigner中表字段由小写变成大写
    MVC5 action 返回JavaScript代码,未执行弹框,出现下载文件或是返回的JavaScript内容 的问题
    sql实现子查询
    经纬度计算是否在圆形内,是否在矩形内,是否在多边形内方法
    网站模板地址及CSS样式网站
    web前端学习笔记
    spring get方法 中文(UTF-8)乱码
    OpenLayers 笔记
  • 原文地址:https://www.cnblogs.com/kong-xy/p/6388359.html
Copyright © 2011-2022 走看看