Editar texto de archivo XML basado en la ruta

Tengo un archivo XML (por ejemplo, jerry.xml) que contiene algunos datos como se muestra a continuación.

<data>
<country name="Peru">
    <rank updated="yes">2</rank>
    <language>english</language>
    <currency>1.21$/kg</currency> 
    <gdppc month="06">141100</gdppc>
    <gdpnp month="10">2.304e+0150</gdpnp>
    <neighbor name="Austria" direction="E"/>
    <neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
    <rank updated="yes">5</rank>
    <language>english</language>
    <currency>4.1$/kg</currency> 
    <gdppc month="05">59900</gdppc>
    <gdpnp month="08">1.9e-015</gdpnp>
    <neighbor name="Malaysia" direction="N"/>
</country>

Extraje las rutas completas de algunos textos seleccionados del xml anterior usando el código a continuación. Las razones se dan en esteenviar.

def extractNumbers(path, node):
    nums = []

    if 'month' in node.attrib:
        if node.attrib['month'] in ['05', '06']:
            return nums

    path += '/' + node.tag
    if 'name' in node.keys():
        path += '=' + node.attrib['name']

    elif 'year' in node.keys():
        path += ' ' + 'month' + '=' + node.attrib['month']
    try:
        num = float(node.text)
        nums.append( (path, num) )
    except (ValueError, TypeError):
        pass
    for e in list(node):
        nums.extend( extractNumbers(path, e) )
    return nums

tree = ET.parse('jerry.xml')
nums = extractNumbers('', tree.getroot())
print len(nums)
print nums

Esto me da la ubicación de los elementos que necesito cambiar como se muestra en la columna 1 del csv a continuación (por ejemplo, hrong.csv).

Path                                                      Text1       Text2       Text3       Text4       Text5 
'/data/country name=singapore/gdpnp month=08';            5.2e-015;   2e-05;      8e-06;      9e-04;      0.4e-05;   
'/data/country name=peru/gdppc month=06';                 0.04;       0.02;       0.15;       3.24;       0.98;                                                 

Me gustaría reemplazar el texto de los elementos del archivo XML original (jerry.xml) por los de la columna 2 del hrong.csv anterior, según la ubicación de los elementos en la columna 1.

Soy un novato en Python y me doy cuenta de que podría no estar usando el mejor enfoque. Agradecería cualquier ayuda con respecto a la dirección wrt esto. Básicamente, necesito analizar solo algunos nodos de texto seleccionados de un archivo xml, modificar los nodos de texto seleccionados y guardar cada archivo.

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta