import xml.etree.ElementTree as ET import csv tree = ET.parse('data.xml') root = tree.getroot() with open('data.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile) for neighbor in root.iter('DATI'): parent = neighbor.attrib.get("ISTANTE") parent = parent[:-4] vm = neighbor[0].text vmin = neighbor[1].text vmax = neighbor[1].text spamwriter.writerow([parent, vm, vmin, vmax])