Python XML Split

Last updated:

Warning: Review and test in a non-production environment before running.

Back to results

import xml.etree.ElementTree as ET


index = 2
file = open(filename_{}.xml'.format(index), 'ab')
file.write(bytes("<mimshak><guf><dapim>", 'utf-8'))
for event, elem in ET.iterparse(filename.xml', events=('start', 'end')):
    # if event == 'start':
    #     if elem.tag == 'maatafa':
    #         break

    if event == 'end':
        # file.write(ET.tostring(elem, 'UTF-8'))
        if elem.tag == 'maatafa':

            file.write(ET.tostring(elem, 'UTF-8'))
            elem.clear()
            index = index + 1
            if (index % 80000 == 0):
                file.write(bytes("</dapim></gufl></mimshak>", 'utf-8'))
                file.close()
                file = open('filename_{}.xml'.format(index), 'ab')
                file.write(bytes("<mimshak><guf><dapim>", 'utf-8'))

file.write(bytes("</dapim></guf></mimshak>", 'utf-8'))
file.close()