这个案例中我们用到了xml和xlrd这两个模块。使用xlrd读取Excel文件内容,然后使用xml模块将Excel文件以xml格式保存。
程序实现过程这里不再赘述了,大家参照源代码梳理一下。这里主要探讨下面几个内容:
为什么使用xml.etree
Python中的xml处理xml文件的接口(暂时这么叫吧)不止一种,比如,xml.dom、xml.sax模块,都提供了用于处理xml文件的接口。但本文我们用到了xml.etree这个接口。
基于下面两个方面考量,本文使用了xml.etree这个接口:
xml.dom模块在处理文档之前,会将xml文件构建好的树状数据存储在内存中,这样既浪费了内存空间,又增加了系统开销,而且当数据量大时,程序运行会非常缓慢xml.sax模块,使用过这个模块的人都知道,虽说该模块实现了SAX API,运行速度和占用内存方面比xml.dom都要好,但是它在处理xml文件时,过程很复杂(对比etree模块来说),对于开发人员来讲,它没有etree提供的接口便利。下面介绍xml模块的使用。
xml处理文档的一般方法
第一步:加载文档
import xml.etree.ElementTreeet = ElementTree.ElementTree(file="demo.xml")
第二步:获取根节点
root = et.getroot()
这里的root是一个Element对象,具有以下属性:
tag:元素的标签名称attrib:以字典形式返回属性名称和值此外,它还提供了别的方法:
购买专栏解锁剩余65%