【发布时间】:2019-05-30 18:24:25
【问题描述】:
我正在尝试读取将近 19 GB 的 XML 文件“Comments.xml”,但它会出现内存错误。我在每个 IDE 中都尝试过,但没有任何效果。我有 4 GB 内存。我也搜索,谷歌搜索但没有找到任何线索:/ 我的代码是
我在每个 IDE 中都尝试过,但没有任何效果。我也搜索,谷歌搜索但没有找到任何线索:/
import xml.etree.ElementTree as ET
tree = ET.ElementTree(file='Comments.xml')
root = tree.getroot()
for rows in root:
print(rows.attrib)
当我运行 IDE 棒一段时间后,我得到了错误: 第 598 行,解析中 self._root = parser._parse_whole(源) 内存错误
【问题讨论】:
-
你不能一口气读完,所以你需要一个流式 XML 解析器。
-
流式传输 xml?我将如何得到它?
-
我不确定它是否能完全解决你的问题,但你可以试试
lxmlpython 库,它允许迭代解析(所以整个树不需要加载到内存中)。有关示例,请参阅stackoverflow.com/q/324214/5050917 的一些答案。
标签: python pycharm xmldataset