PYTHON解析XML的多种方式效率对比实测
PYTHON解析XML的多种方式效率对比实测 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要 处理的文件数量太大,这两种方式耗时太高无法接受。 在网络搜索后发现,目前应用比较广泛,且效率相对较高的ElementTree也是一个比较多人推荐的算法, 于是拿这个算法来实测对比,ElementTree也包括两种实现,一个是普通ElementTree ( ET ),—个是 ElementTree.iterparse ( ET_iter)。 本文将对DOM、SAX、ET、ET_iter四种方式进行横向对比,通过处理相同文件比较各个算法的用时来 评估其效率。 程序中将四种解析方法均写为函数,在主程序中分别调用,来评估其解析效率。 解压后的XML文件内容示例如下,我自己的需求是解析其中第一个measurement内容,其他的内容丢 弃。eNB的属性以及object的属性都需要解析并和v字段的文本一起写入csv文件。 MR.LteScRSRP MR.LteScRSRQ MR.LteScTadv MR.LteSceNBRxTxTimeDiff ・・・ MmeGroupId=“1025“ MmeCode= NIL NIL NIL NIL NIL NIL NIL 38 22 6 31 34 0 34 38400 110 NIL NIL NIL NIL 7 23 NIL 26 24 0 0 NIL NIL NIL NIL NIL NIL NIL 61 30 5 32 45 0 27 38400 110 NIL NIL NIL NIL 7 14 NIL 1 49 0 0 42 26 5 31 30 412 35 38400 110 NIL NIL NIL NIL NIL NIL NIL NIL NIL N IL NIL 7 14 NIL 26 24 0 0 39 22 7 31 35 387 36 38400 110 36 18 38400 108 NIL NIL NIL NIL NIL N IL NIL 5 10 NIL 25 25 0 0 61 27 5 31 43 427 36 38400 110 49 4 38400 108 NIL NIL NIL NIL NIL NI L NIL 9 13 NIL 1 49 0 0 61 27 5 31 43 427 36 38400 110 46 0 38400 295 NIL NIL NIL NIL NIL NI L NIL 9 13 NIL 1 49 0 0 41 23 9 32 23 447 36 38400 110 32 11 38400 358 NIL NIL NIL NIL NIL N IL NIL 6 22 NIL 24 26 0 0 41 23 9 32 23 447 36 38400 110 31 7 38400 295 NIL NIL NIL NIL NIL NI L NIL 6 22 NIL 24 26 0 0 41 23 9 32 23 447 36 38400 110 28 8 38400 460 NIL NIL NIL NIL NIL NI L NIL 6 22 NIL 24 26 0 0 MR.LteScPlrULQcil MR.LteScPlrULQci2 MR.LteScPlrULQci3 MR.LteScPlrULQ ci4 ・・. NIL NIL NIL NIL NIL NIL NIL NIL 0 NIL NIL NIL NIL NIL NIL NIL NIL 0 MR.LteScRIP 81 召 http