我正在尝试使用python中的以下代码解析一个大的 XML文件(300MB):
import xmltodict
def handle(path, item):
print path
print item
return True
file = open('large_file.xml','r')
str = file.read()
xmltodict.parse(str, item_depth=3, item_callback=handle)
我能够解析100MB的XML文件,但是当我尝试使用300MB的更大文件时,我正在
ExpatError:内存不足:第1行,第0列
是否有其他可以处理更大XML文件的库或方法?或者我做错了吗? 请指教。
答案 0 :(得分:0)
我看到了这篇文章:http://boscoh.com/programming/reading-xml-serially.html。
决定使用cElementTree和iterparse,效果很好。