gpt4 book ai didi

python - 使用 lxml 有效地计算非常大的 XML 文档中的元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:41:56 26 4
gpt4 key购买 nike

我有一个非常大 (1.8GB) 的 XML 文档。我想简单地找到带有标签 <Product> 的元素数量.

我已经做到了:

context = etree.iterparse('./test.xml', tag='Product')
num_elems = 0
for event, elem in context:
num_elems += 1
print num_elems

它有效,但是有没有更快的方法呢?

最佳答案

因为这有效,我认为内存使用不是问题(iterparse在内存中构建整个文件的树,除非您在迭代时修剪它要素)。在那种情况下,省去在 Python 中迭代和计数的麻烦,让 LXML/libxml 在 C 中处理:

tree = etree.parse("./test.xml")
num_elems = tree.xpath("count(//Product)") # note: returns a float

关于python - 使用 lxml 有效地计算非常大的 XML 文档中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10703169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com