как открыть большой XML файл и сохранить его в датафрейм на python
Имеется большой файл XML (более 1,5 Гб), вот ссылка на него: https://drive.google.com/file/d/1KI-75s6I2TfUKZT3XE5IMCxN5732p3Zy/view?usp=sharing Мне необходимо открыть этот файл и записать в датафрейм, чтобы в последующем по кусочкам сохранить его в эксель. Но при выполнении кода, пишет ошибку памяти. Подскажите пожалуйста как решить эту проблему.
#import xml.etree.ElementTree as ET
import xml.etree.cElementTree as ET
import pandas as pd
class XML2DataFrame:
def __init__(self, xml_data):
self.root = ET.XML(xml_data)
def parse_root(self, root):
return [self.parse_element(child) for child in iter(root)]
def parse_element(self, element, parsed=None):
if parsed is None:
parsed = dict()
for key in element.keys():
parsed[key] = element.attrib.get(key)
if element.text:
parsed[element.tag] = element.text
for child in list(element):
self.parse_element(child, parsed)
return parsed
def process_data(self):
structure_data = self.parse_root(self.root)
return pd.DataFrame(structure_data)
with open(r'D:\Загрузки\gar_xml\AS_HOUSES_PARAMS_20241031_29f10e11-1540-4160-bcb4-04284f0ca728.xml') as f:
xml_data = f.read()
xml2df = XML2DataFrame(xml_data)
df = xml2df.process_data()
Traceback (most recent call last):
File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\IPython\core\interactiveshell.py:3577 in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
Cell In[2], line 4
xml2df = XML2DataFrame(xml_data)
Cell In[1], line 8
self.root = ET.XML(xml_data)
File C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\xml\etree\ElementTree.py:1350 in XML
parser.feed(text)
File <string>
ParseError: out of memory: line 1, column 0