使用iterfind有效地解析xml数据

时间:2015-07-07 18:15:49

标签: python parsing lxml

我正在从大型XML文件(10MB)中解析大量重复数据,然后解析超过100,000个这些文件。我想确保我有效地解析。首先,我列出了我想要找到的所有Element路径。这可能是100-200个不同的元素,然后我想找到它们并将它们存储在字典键中,并按元素名称存储。

我一直在使用iterfind(' / elementpath /'),但是返回一个生成器,然后我必须再次迭代以获取每个元素中的文本。第二个循环就是我试图消除

以下是一些代码可以完成我想要的最佳功能。每个文件大约需要2秒来解析数据。如果我可以移除嵌套循环,那么改进到1.2毫秒左右。

def parse_xml(testfile):
    resultdict={}
    for search in searchlist:
        resultdict[search]=[]
        for item in testfile.iterfind(search):
            resultdict[search].append(item.text)
    return resultdict

0 个答案:

没有答案