разобрать очень большой файл XML - PullRequest
0 голосов
/ 15 марта 2019

Я анализирую 1,3 ГБ XML-файл в Python. Вот мой код:

import xml.etree.ElementTree as etree

with open('SemCor+OMSTI/semcor+omsti.data.xml') as f:
    xml = f.read()

for event, elem in etree.iterparse(xml, events=('start', 'end', 'start-ns', 'end-ns')):  
  print(event, elem)

Но он выдает следующее:

Traceback (most recent call last):
File "parse.py", line 8, in <module>
for event, elem in etree.iterparse(re.sub(r"(<\?xml[^>]+\?>)", r"\1<root>", xml) + "</root>", events=('start', 'end', 'start-ns', 'end-ns')):
File "/home/himanshu/anaconda3/lib/python3.6/xml/etree/ElementTree.py", line 1242, in iterparse
source = open(source, "rb")

с последующим содержимым файла в строковом формате (который не разбирается). Я имею в виду этот урок для разбора очень большого XML-файла

Вывод файла настолько велик, что я не могу увидеть точную ошибку. Но когда я нажимаю Ctrl + C до того, как распечатать данные и показать ошибку, появляется OSError.

...