使用lxml和iterparse()解析大(+-1Gb)XML文件

使用lxml和iterparse()解析大(+-1Gb)XML文件,第1张

使用lxml和iterparse()解析大(+-1Gb)XML文件
for event, element in etree.iterparse(path_to_file, tag="BlogPost"):    for child in element:        print child.tag, child.text    element.clear()

最后的清除将阻止您使用过多的内存。

[更新:]要获得“…之间的所有信息,作为字符串”,我想您需要以下其中一项:

for event, element in etree.iterparse(path_to_file, tag="BlogPost"):    print etree.tostring(element)    element.clear()

要么

for event, element in etree.iterparse(path_to_file, tag="BlogPost"):    print ''.join([etree.tostring(child) for child in element])    element.clear()

甚至:

for event, element in etree.iterparse(path_to_file, tag="BlogPost"):    print ''.join([child.text for child in element])    element.clear()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存