Мне нужно иметь возможность разбивать большие XML файлы (длиной от 2 до 4 миллионов строк) на более мелкие XML файлы с одинаковой структурой. Мне нужно использовать python для этого. Структура XML выглядит следующим образом:
<queue>
<id />
<store_id />
<sku />
<url />
<items>
<item>
<id></id>
<qty></qty>
<created_at></created_at>
<updated_at></updated_at>
<customer_id/>
<external_id/>
<data>
<City></City>
<State></State>
<Firstname></Firstname>
<Lastname></Lastname>
.......
</data>
<address>
<name></name>
<title/>
........
</address>
</item>
<item>
</item>
.......
</items>
</queue>
Мой текущий подход заключается в использовании xml .etree.ElementTree.parse () для создания большого элемента XML, а затем I l oop через все элементов <item>
внутри него, добавляя их к новому элементу XML с той же исходной структурой. Затем, после добавления X количества элементов, я записываю новый элемент XML в файл. После записи в файл я заменяю новый элемент XML на пустой и повторяю этот процесс, пока не останется никаких элементов.
Функциональность этого совершенно. Работает именно так, как я хочу, но использует очень большой объем памяти. Мне интересно, может кто-нибудь сказать мне альтернативный способ достижения моей цели, с меньшим использованием памяти.