Xml à la forme de table dans Excel

def has_children(e):
    ''' Check if element, e, has children'''
    return(len(list(e)) > 0)

def has_attrib(e):
    ''' Check if element, e, has attributes'''
    return(len(e.attrib)>0)

def get_uniqe_key(mydict, key):
    ''' Generate unique key if already exists in mydict'''
    if key in mydict:
        while key in mydict:
            key = key + '*'

    return(key)

tree = ET.parse('input2.xml')

root = tree.getroot()

# Get first level:
lvl_one = list(root)

myList = [];
for e in lvl_one:

    mydict  = {}
    # Iterate over each node in level one element
    for node in e.iter():

        if (not has_children(node)) & (node.text != None):
            uniqe_key = get_uniqe_key(mydict, node.tag)
            mydict[uniqe_key] = node.text

        if has_attrib(node):
            for key in node.attrib:
                uniqe_key = get_uniqe_key(mydict, key)
                mydict[uniqe_key] = node.attrib[key]

    myList.append(mydict)

print(pd.DataFrame(myList))
Mappy Show