PYTHON解析XML的多种方式效率对比实测
在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受。 在网络搜索后发现,目前应用比较广泛,且效率相对较高的ElementTree也是一个比较多人推荐的算法,于是拿这个算法来实测对比,ElementTree也包括两种实现,一个是普通ElementTree(ET),一个是ElementTree.iterparse(ET_iter)。 本文将对DOM、SAX、ET、ET_iter四种方式进行横向对比,通过处理相同文件比较各个算法的用时来评估其效率。 程序中将四种解析方法均写为函数,在主程序中分别调用,来评估其解析效率。 解压后的XML文件内容示例如下,我自己的需求是解析其中第一个 measurement内容,其他的内容丢弃。eNB的属性以及object的属性都需要解析并和v字段的文本一起写入csv文件。 <?xml version="1.0" encoding="UTF-8"?> <bulkPmMrDataFile> <fileHeader fileFormatVersion="V1.0.4" reportTime="2016-02-22T21:00:00.000" ></fileHeader> <eNB id="122941"> <measurement> <smr>MR.LteScRSRP