Ho un file XML in questo modo:Python: Conversione XML in file CSV
<hierachy>
<att>
<Order>1</Order>
<attval>Data</attval>
<children>
<att>
<Order>1</Order>
<attval>Studyval</attval>
</att>
<att>
<Order>2</Order>
<attval>Site</attval>
</att>
</children>
</att>
<att>
<Order>2</Order>
<attval>Info</attval>
<children>
<att>
<Order>1</Order>
<attval>age</attval>
</att>
<att>
<Order>2</Order>
<attval>gender</attval>
</att>
</children>
</att>
</hierachy>
Sto cercando di convertirlo in un file CSV come questo:
Data,Studyval
Date,Site
Info,age
Info,gender
Il mio problema è, entrambi i nomi padre e figlio sono uguali: "att" e "attval". Come faccio a dire a Python di distinguere tra i due e di darmi l'output?
ho provato questo:
import xml.etree.cElementTree as ET
tree = ET.parse('input.xml')
rebase = tree.getroot()
list = []
for att in rebase.findall('att'):
name = att.find('attval').text
for each_att in att.findall('attval'):
try:
val = att.find('attval').text
print name, val
except AttributeError:
print name
e stampate le stesse cose due volte.
che è perfetto! Grazie mille! – pam